Java 中if语句、if…elseif语句以及switch…case语句的区别

版权声明:博主原创/资料整理,转载请注明出处!!

最近公司领导要求代码review,需要找出代码编写不符合开发规范的地方以及代码中的bug,所以大家就开始找呀找!
博主是一个新人,看到的问题都比较简单,其中有一个问题就是代码中很多地方都用到了if…elseif语句,这就是一个不好的地方,因为有比它更好的switch…case语句为什么不用呢?对吧!
咱们分析一下三种语句的适用场景就知道实际编程中如何取舍了:

  • 条件判断:if语句适用于一个条件的判断。
  • 条件判断:if…elseif语句或者switch…case语句都可以:
    1. if…elseif语句适用于多条件判断区间范围,同时if…elseif语句的判断过程是持续的,意思就是会遍历判断条件直到符合某条判断条件才停止,否则会一直遍历下去直到最后一条判断条件,这样代码执行效率就会很低;
    2. switch…case语句适用于多条件判断固定值,但是switch…case语句不像if…elseif语句那样会遍历条件,而是会通过case分支的内容生成一个跳转表来指示case分支的地址,所以当switch获取到参数值后就可以快速定位具体的case分支,要么定位成功,要么定位失败,快速高效;

注:对固定值做判断并且判断条件在三个及以下,此时,if…elseif语句以及switch…case语句差别不大,读者自行考量。

猜你喜欢

转载自blog.csdn.net/weixin_43457486/article/details/85127481