【问题标题】:A Return inside and outside an If StatementIf 语句内部和外部的 Return
【发布时间】: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 语句。

提前致谢。

【问题讨论】:

    标签: java if-statement return


    【解决方案1】:

    不,这两个值都不会返回。 return 语句会在此处停止方法的执行,并返回其值。事实上,如果在return 之后有代码,编译器知道由于return 而无法到达,它就会报错。

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

    【讨论】:

    • 哦,对了,无论如何代码都无法访问。感谢您的回复。
    【解决方案2】:

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

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

    【讨论】:

    猜你喜欢
    • 2010-09-20
    • 2021-09-21
    • 1970-01-01
    • 2016-03-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-05
    相关资源
    最近更新 更多