这可能是一个相当容易回答的问题,但它一直困扰着我。
如果在if语句中有一个return语句,在一个方法内(在Java语言中),但是我在最后添加另一个作为一个全能并且为了避免错误,两个返回值都将被触发如果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语句。
提前致谢。
答案 0 :(得分:4)
不,两个值都不会被退回。 return
语句在那里停止执行方法,并返回其值。实际上,如果编译器知道由于return
而无法访问的return
之后的代码,它会抱怨。
您不需要在if
之外使用变量来返回它。但是,如果您的方法冗长而复杂,这种技术可以帮助提高可读性和清晰度,因为只使用了一个return
语句。
答案 1 :(得分:1)
仅使用第一个return语句命中。然后该方法终止。
有些代码约定对多个返回语句不屑一顾,因为它们可能难以阅读,但我不是其中之一。 :)