为什么我们在主体是一个return语句时使用if,else if而不是多个if块

我一直习惯使用if,else-if语句,而不是多个if语句。

例:

int val = -1;

if (a == b1) {

return c1;

} else if (a == b2) {

return c2;

} ...

...

} else {

return c11;

}

与示例2相比如何?

if (a == b1) {

return c1;

}

if (a == b2) {

return c2;

}

....

if (a == b11) {

return c11;

}

我知道功能上它们是相同的。但是,如果不是,则是否是最佳做法?当我指出他可以不同地构造代码库以使其更整洁时,它是由我的一位朋友提出的。对我来说这已经是一种习惯,但是我从来没有问过为什么。

回答:

if-elseif-else一旦找到正确的语句,它们就会停止进行比较。if-if-if做每个比较。第一个是更有效的。

在注释中已指出您return在每个if块中都做了一个。在这些情况下,或者在控制权将离开方法的情况下(例外),执行多个if语句和执行if-

elseif-else语句之间没有区别。

但是,if-elseif-else无论如何,最佳做法是使用。假设您更改了代码,以免您return在每个if块中都没有执行a

。然后,要保持效率,您还必须更改if-elseif-else成语。if-elseif-

else从一开始就拥有它可以节省以后的编辑工作,并且对于阅读代码的人来说更加清楚(见证我刚才对代码的略读而给您带来的误解!)。

以上是 为什么我们在主体是一个return语句时使用if,else if而不是多个if块 的全部内容, 来源链接: utcz.com/qa/408487.html

回到顶部