switch case和if else的效率问题

一,if-else

只是单纯的一个接一个比较;在找到为真的条件前,每个条件都计算一遍。

二 ,switch case

使用的Binary Tree算法;不管有多少case,都直接跳转,不需要逐个比较查询;switch只计算一次值,然后都是test jmp。

switch使用查找表的方式决定了case的条件必须是一个连续的变量,而if-else则可以灵活的多。

三,总结

当分支较少时(3<=)时,if的效率比switch的效率高。当分支较多时,使用switch效率更高。

四,switch case语句

switch (表达式){
case 值1 : 语句1
break;

case 值2 : 语句2
break;

...
default : 语句n
break;
}

从表达式值等于某个case语句的值开始,它下方的语句都会一直执行,直到遇到一个break为止。随后switch语句

将结束。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值