switch case 与 if else
2011-12-20 20:26
218 查看
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
可以看出,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
相关文章推荐
- switch...case...和if...else...区别
- switch...case 和 if...else效率比较和优化
- 一道面试题:求1+2+…+n,不使用乘除法、for、while、if 、else、switch、case 等关键字
- 不用乘除法、for、while、if、else、switch、case等关键字以及条件判断语句(A?B:C)求1+2+…+n
- 【算法题】题目:求1+2+…+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字以及条件判断语句(A?B:C)
- 练习题(if else,switch case)
- 剑指Offer(Java版): 求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。
- 题目:求1+2+…+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字以及条件判断语句(A?B:C)。
- 使用面向对象技术替代switch-case和if-else 推荐
- 求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。
- 黑马程序员--if..else...和switch....case和循环结构和三元表达式
- if.....else if .....else 与switch....case.....
- switch...case 和 if...else效率比较和优化
- JAVASE总结--03(方法、if-else、switch-case)
- 用数组代替if-else和switch-case语句
- 求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。
- 求1+2+…+n 要求不能使用 乘 除 法、for、while、if、else、switch、case等关键字以及条件判断语句
- if...else和switch..case
- switch...case 和 if...else效率比较和优化
- java题目:求 1+2+...+n,要求不能用除法、 for、 while、 if、 else、 switch、 case 等关键字及条件判断语句( A?B:C)。