if / else或double if?

时间:2011-05-14 17:02:54

标签: language-agnostic if-statement

使用double(或triple,..)if而不是if / else分支(如

)之间是否有任何区别
if(a==b)
{}
else if(a==c)
{}
else if(a==d)
{}

if(a==b)
{}
if(a==c)
{}
if(a==d)
{}

由于

3 个答案:

答案 0 :(得分:5)

是的,有区别。在第一种情况下,如果满足其中一个条件而不评估其他条件,评估将停止,而在第二种情况下,无论是否满足,都将评估所有条件。

答案 1 :(得分:3)

在这种情况下

if ( conditional ) {
    //do stuff
}
else if ( conditional {
    //do stuff
} ... 

系统会检查条件,直到它找到一个真值,然后才能完成。

在这种情况下:

if ( conditional ) {
    //do stuff
}
if ( conditional ) {
    //do stuff
}

系统每次检查每个条件。

答案 2 :(得分:2)

第二个将检查所有条件,如果acd相等,那么if(a==c) {}if(a==d) {}都会执行。

一旦满足其中一个条件,第一个将脱离其他检查。