返回If语句内部和外部
这可能是一个相当容易回答的问题,但它一直困扰着我。
如果在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语句。
提前致谢。
不,两个值都不会被退回。 return
语句在那里停止执行方法,并返回其值。 事实上,如果return
后有代码,编译器知道它会因为return
而无法到达,那么它会抱怨。
您不需要在if
之外使用变量来在最后返回它。 但是,如果您的方法冗长而复杂,则此技术有助于提高可读性和清晰度,因为只使用了一个return
语句。
仅使用第一个return语句命中。 该方法然后终止。
有一些代码约定在多个return语句上皱眉,因为它们可能很难读,但我不是其中之一。 🙂