If 语句内部和外部的 Return
Posted
技术标签:
【中文标题】If 语句内部和外部的 Return【英文标题】:A Return inside and outside an If Statement 【发布时间】:2013-08-19 10:11:51 【问题描述】:这可能是一个相当容易回答的问题,但它一直困扰着我一段时间。
如果在 if 语句中,在方法中(在 Java 语言中)有一个 return 语句,但我在最后添加另一个作为包罗万象并避免错误,两个返回值都会被触发如果if语句为真,一个接一个?
一个例子:
public int getNumber()
if( 5 > number)
return 5;
return 0;
结果:方法返回 5,然后通过堆栈逻辑,此后不久返回 0。
或者,我是否需要像这样使用外部变量:
int num = 1;
public int getNumber()
if( 5 > number)
num = 5;
return num;
结果:方法将变量 num 更改为 5,然后返回 num 以供使用。我想在这种情况下,根据变量的使用情况,不一定需要 return 语句。
提前致谢。
【问题讨论】:
【参考方案1】:不,这两个值都不会返回。 return
语句会在此处停止方法的执行,并返回其值。事实上,如果在return
之后有代码,编译器知道由于return
而无法到达,它就会报错。
您不需要使用if
之外的变量在最后返回它。但是,如果您的方法又长又复杂,则此技术有助于提高可读性和清晰度,因为只使用了一个 return
语句。
【讨论】:
哦,对了,无论如何代码都无法访问。感谢您的回复。【参考方案2】:仅使用第一个返回语句命中。然后该方法终止。
有一些代码约定不赞成使用多个返回语句,因为它们可能难以阅读,但我不是其中之一。 :)
【讨论】:
没关系,我想我现在会打破常规。感谢您的回答。 @A13X - 这是一个非常不典型的约定。见Should a function have only one return statement?以上是关于If 语句内部和外部的 Return的主要内容,如果未能解决你的问题,请参考以下文章
涉及 e.preventDefault 的 if/else 语句