1、可以看到if-else只是单纯地一个接一个比较,效率比较低
可以看出,switch的效率一般比if-else高
switch 效率高, 从汇编代码可以看出来
switch 只计算一次值 然后都是test , jmp,
if...else 是每个条件都要计算一遍的.
switch的效率与分支数无关
当只有分支比较少的时候,if效率比switch高(因为switch有跳转表)
分支比较多,那当然是switch
参考:http://hi.baidu.com/software_one/blog/item/254990dfd96aee205982ddcb.html
2、为什么switch的效率要比if else 高?
参考:http://topic.csdn.net/u/20090114/14/9041069d-44d7-4272-8045-ffe603a5b3e2.html