返回If语句的内部和外部

时间:2013-08-16 22:11:43

标签: java if-statement return

这可能是一个相当容易回答的问题,但它一直困扰着我。

如果在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语句。

提前致谢。

2 个答案:

答案 0 :(得分:4)

不,两个值都不会被退回。 return语句在那里停止执行方法,并返回其值。实际上,如果编译器知道由于return而无法访问的return之后的代码,它会抱怨。

您不需要在if之外使用变量来返回它。但是,如果您的方法冗长而复杂,这种技术可以帮助提高可读性和清晰度,因为只使用了一个return语句。

答案 1 :(得分:1)

仅使用第一个return语句命中。然后该方法终止。

有些代码约定对多个返回语句不屑一顾,因为它们可能难以阅读,但我不是其中之一。 :)