使用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)
{}
由于
答案 0 :(得分:5)
是的,有区别。在第一种情况下,如果满足其中一个条件而不评估其他条件,评估将停止,而在第二种情况下,无论是否满足,都将评估所有条件。
答案 1 :(得分:3)
在这种情况下
if ( conditional ) {
//do stuff
}
else if ( conditional {
//do stuff
} ...
系统会检查条件,直到它找到一个真值,然后才能完成。
在这种情况下:
if ( conditional ) {
//do stuff
}
if ( conditional ) {
//do stuff
}
系统每次检查每个条件。
答案 2 :(得分:2)
第二个将检查所有条件,如果a
,c
和d
相等,那么if(a==c) {}
和if(a==d) {}
都会执行。
一旦满足其中一个条件,第一个将脱离其他检查。