Java- 分支语句笔记: switch、if-else、三目运算符 的效率问题

主宰稳场 提交于 2019-11-27 22:07:38

switch 与 if-else

  • 结论:一般情况下,switch的效率高于if-else语句
  • 原理:
    1. if …else走逻辑判断时,每条if语句都独立需要加载,都要走一遍判断。
    2. switch…case 只做一次计算,然后将表达式的值与case逐个比较,直到匹配正确。
  • 总结:
    1. switch 虽然效率高,但要求case为常量
    2. if-else 虽然效率低,但更加的灵活

参考的博文

if-else 与 三目表达式

  • 结论:一般情况下if-else效率要低于三目表达式
  • 原理+总结:
    1. 从类型转换上看,因为三目运算符在做判断的时候需要考虑到类型转换的问题,而if else 不需要考虑类型转换。
      所以 if else 效率高一点。
    2. 从总体上看
      A: 需要考虑到循环自身所占用的时间。
      B: 需要考虑到赋值以及循环内的其他运算符所占用的时间。
      所以 三目运算符效率高一点.

参考的博文

个人意见:对代码效率的追求没有之境,有时候看以只是对代码优化几毫秒,但如果这段代码被运行了十万百万次呢?

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!