switch case与if/else的效率差在哪里!

在程序设计中,switch case与if else用于处理分支逻辑。当分支数量超过3个时,switch case的执行效率明显优于if else。本文通过解析两者的工作原理,深入探讨在何种场景下更适宜使用switch case,以提升代码执行效率。

       在学校的时候经常写一些小的程序,遇到分支问题不假思索的选择使用if/else,只记得还有个switch case也能用但是很少选择它。然而真理往往是掌握在少数人手中的,如果分支数量较少选择switch case跟if/else的效率没有区别。当分支数量超过3个时switch case的效率就要明显高于is/else了。血和泪的经验真的是在实践中一点一点碰出来的!

        if/else就是从第一个分支开始判断,并且会执行完分支的判断条件直到条件为真才执行分支内容再返回。而switch case的判断方法是首先它的判断条件是一个integral or enum type即一个整形或者枚举类型,从判断条件来看判断一个整形的速度要比判断一个if分支为真的速度快很多。最核心的是switch case的底层实现,在实现上switch case会用一个跳转表来存储分支的地址,因为判断条件就是整形的,这个整形作为跳转表的下标就得到了分支的位置直接进入case。

        尽量使用switch case吧!!!会让你代码的执行效率提高很多!

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值