if elseif 和swich case的区别

if(a == 1)
    // ...
else if(a == 2)
    // ...
else if(a == 3)
    // ...

这个程序片段在最差的状况下,也就是a = 3时,共需3次比较,而每次比较都必须取出变量a的值一次。如果换成switch:a 只去一次,比较三次。

switch(a) {
    case 1:
        // ...
        break;
    case 2:
        // ...
        break;
    case 3:
        // ...
        break;
}

你可能感兴趣的:(if else)