switch与多分支if哪个更好用

switch与多分支if哪个更好用

switch(choose){    
    case 1:语句1;break;    
    case 2:语句2;break;    
    case 3:语句3;break;    
    default:默认语句;
}
if(条件1){
    语句1
}else if(条件2){
    语句2
}else if(条件3){
    语句3
}else{
    语句4
}

1、switch 一般情况下处理的是等值,而 if else 则可以判断范围,会更加地灵活。
2、switch 使用了 Binary Tree 算法;当switch 语句在运行时,首先会生成一个“跳转表”来指示实际的 case 分支的地址,而这个“跳转表”的索引号与 swtich 中的 case 值是相等的,这样的话,switch就不用像 if else 那样,遍历所有的条件,直至找到正确条件,而仅仅只需要访问对应索引号的表项就可以到达定位分支的目的。而 if else 语句需要一条一条的去进行取值范围的判断,直到找到正确的选项位置,这样的话势必会浪费大量的时间。所以,单从其运行的效率来看,switch语句要更胜一筹。

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值