Java 中if语句、if…elseif语句以及switch…case语句的区别
2018-12-20 16:58
176 查看
版权声明:博主原创/资料整理,转载请注明出处!!
最近公司领导要求代码review,需要找出代码编写不符合开发规范的地方以及代码中的bug,所以大家就开始找呀找!
博主是一个新人,看到的问题都比较简单,其中有一个问题就是代码中很多地方都用到了if…elseif语句,这就是一个不好的地方,因为有比它更好的switch…case语句为什么不用呢?对吧!
咱们分析一下三种语句的适用场景就知道实际编程中如何取舍了:
- 单条件判断:if语句适用于一个条件的判断。
- 多条件判断:if…elseif语句或者switch…case语句都可以:
-
if…elseif语句适用于多条件判断区间范围,同时if…elseif语句的判断过程是持续的,意思就是会遍历判断条件直到符合某条判断条件才停止,否则会一直遍历下去直到最后一条判断条件,这样代码执行效率就会很低;
- switch…case语句适用于多条件判断固定值,但是switch…case语句不像if…elseif语句那样会遍历条件,而是会通过case分支的内容生成一个跳转表来指示case分支的地址,所以当switch获取到参数值后就可以快速定位具体的case分支,要么定位成功,要么定位失败,快速高效;
注:对固定值做判断并且判断条件在三个及以下,此时,if…elseif语句以及switch…case语句差别不大,读者自行考量。
相关文章推荐
- 每天学习一算法系列(12) (求1+2+…+n,不能使用乘除法,for、while、if 、else、switch、case 等关键字以及条件判断语句)
- JAVA流程控制 IF ELSE语句与Switch Case语句的使用
- 题目:求1+2+…+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字以及条件判断语句(A?B:C)。
- 《剑指offer》上的一道原题,求1+2+……+n,要求不能使用乘除法,for、while、if、else、switch、case等关键字以及条件判断语句
- 求 1+2+3+..n不能使用乘除法、 for 、 while 、 if 、 else 、 switch 、 case 等关键字以及条件判断语句
- 求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。Java实现
- C/C++学习(一)题目:求1+2+…+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字以及条件判断语句(A?B:C)。
- PHP 不用求1+2+…+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字以及条件判断语句(A?B:C)
- 求1+2+…+n 要求不能使用 乘 除 法、for、while、if、else、switch、case等关键字以及条件判断语句
- [Java] 使用多个 if 语句、else if 和 switch 的区别
- 求1+2+…+n, 要求不能使用乘除法、for、while、if、else、switch、case等关键字 以及条件判断语句(A?B:C)
- 求1+2+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字以及条件判断语句
- 剑指Offer(Java版): 求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。
- java中if与switch-case语句的使用及一些注意事项
- 求1+2+…+n, 要求不能使用乘除法、for、while、if、else、switch、case等关键字以及条件判断语句(A?B:C)。
- 不用乘除法、for、while、if、else、switch、case等关键字以及条件判断语句(A?B:C)求1+2+…+n
- 求1+2+…+n,要求不能使用乘除法、for、while、if、else、switch、case 等关键字以及条件判断语句
- C#中的分支结构:if..else if 、if... else 和 switch ...case语句的区别
- java题目:求 1+2+...+n,要求不能用除法、 for、 while、 if、 else、 switch、 case 等关键字及条件判断语句( A?B:C)。
- 题目:求1+2+…+n, 要求不能使用乘除法、for、while、if、else、switch、case 等关键字以及条件判断语句