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;
}