我一直习惯使用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做每个比较。第一个是更有效的。
if-elseif-else
if-if-if
编辑: 在注释中已指出您return在每个if块中都做了一个。在这些情况下,或者在控制权将离开方法的情况下(例外),执行多个if语句和执行if- elseif-else语句之间没有区别。
return
if
if- elseif-else
但是,if-elseif-else无论如何,最佳做法是使用。假设您更改了代码,以免您return在每个if块中都没有执行a 。然后,要保持效率,您还必须更改if-elseif-else成语。if-elseif- else从一开始就拥有它可以节省以后的编辑工作,并且对于阅读代码的人来说更加清楚(见证我刚才对代码的略读而给您带来的误解!)。
if-elseif- else