【switch和else语句有什么区别(有哪些区别?)】switch语句通常比一组嵌套的ifs更有效。根据可读性和该语句正在测试的表达式来决定使用if-then-else语句还是switch语句。
- 检查测试表达式:if-then-else语句可以基于值或条件的范围来测试表达式, 而switch语句仅基于单个整数, 枚举值或String对象来测试表达式。
- 更好地切换以进行多路分支:当编译器编译一个switch语句时, 它将检查每个大小写常量, 并创建一个"跳转表", 该表将用于根据表达式的值选择执行路径。因此, 如果需要在一大组值中进行选择, 则switch语句的运行速度将比使用if-elses序列编码的等效逻辑快得多。编译器可以执行此操作, 因为它知道大小写常量都是相同的类型, 并且仅需与switch表达式进行相等性比较, 而对于if表达式, 编译器则不具备这种知识。
- if-else对于布尔值更好:If-else条件分支适用于导致布尔值的可变条件, 而switch语句适用于固定数据值。
- 速度:如果情况良好, 那么switch语句可能会比执行更快。如果只有很少的情况, 则在任何情况下都不会影响速度。如果案例数大于5, 则优先使用switch, 否则, 也可以使用if-else。
如果开关包含五个以上的项目, 则使用查找表或哈希列表来实现。这意味着, 与if:s列表相比, 所有项目都具有相同的访问时间, 在if:s列表中, 最后一个项目需要花费更多的时间, 因为它必须首先评估每个先前条件。 - 可读性的清晰度:当你必须合并箱子时, 开关看起来更干净。如果也很容易出错。缺少else语句会使你陷入混乱。使用开关也可以更加轻松地添加/删除标签, 并使代码的更改和维护变得更加容易。
如果发现任何不正确的地方, 或者想分享有关上述主题的更多信息, 请写评论。
推荐阅读
- 结构成员对齐、填充和数据打包是什么意思()
- SAP Labs助理开发人员(FTE)面试经验
- win7系统如何放进u盘呢?
- 大白菜u盘安装win7系统64位图文详细教程
- pe打开盘_教您怎样自制PE打开盘
- win7系统万能无线网卡驱动32位/64位免费下载
- u盘格式化后容量变小,教您u盘格式化后容量变小怎样恢复
- u盘pe怎样装系统,教您u盘怎样装win10系统
- u盘可以修吗,教您怎样修好u盘