- switch结构只能处理等值条件判断的情况,且条件必须是整型、枚举变量或字符型变量;
- 多重if选择结构没有switch结构的诸多限制,特别适合某个变量处于某个连续区间时的情况
- if 在应用中更为常见,但switch的结构更清晰。
- switch使用查找表比对的方式,使得case的条件必须是连续的常量,if语句则没有这些限制。
- **一般情况下,switch比if-else效率更高。**因为switch内部使用了Binary Tree算法,不管有多少个case,都只计算一次值,直接跳转,不需逐个比较查询,除非是if-else的第一个条件就为true。
- switch的效率其实与分支数无关。只有当分支比较少时,if语句的效率才比switch高,因为switch有跳转表。当分支较多时,推荐使用switch语句。
if结构和switch结构的效率区别
最新推荐文章于 2024-07-17 04:28:17 发布