7

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

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

提前致谢。

4

2 回答 2

7

不,这两个值都不会返回。一条return语句在此处停止方法的执行,并返回其值。事实上,如果在 a 之后有代码return,编译器知道它不会因为 而到达return,它会抱怨。

您不需要在if最后使用变量来返回它。但是,如果您的方法又长又复杂,则此技术有助于提高可读性和清晰度,因为只return使用了一个语句。

于 2013-08-16T22:13:06.573 回答
1

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

有一些代码约定不赞成使用多个 return 语句,因为它们可能难以阅读,但我不是其中之一。:)

于 2013-08-16T22:12:47.340 回答