【JavaSE】关于switch case的陷阱
2014-11-02 17:28
260 查看
看下面的例子。
原来switch语句是这样的:从第一个匹配的case开始,直到遇到break语句时才跳出switch,而不管后面的case是否匹配。
除非实际情况需要,最好在每个case最后都加上break语句,否则会出现不可预料的错误。
package p; public class Test { public static void main(String[] args) { int i = 2; switch (i) { case 1: System.out.println(1); case 2: System.out.println(2); case 3: System.out.println(3); case 4: System.out.println(4); default: System.out.println("break"); break; } } }输出:
2 3 4 break原本以为只会输出2,没想到2之后的都输出了。
原来switch语句是这样的:从第一个匹配的case开始,直到遇到break语句时才跳出switch,而不管后面的case是否匹配。
除非实际情况需要,最好在每个case最后都加上break语句,否则会出现不可预料的错误。
相关文章推荐
- switch case关于定义变量的规定
- switch-case陷阱
- JAVASE总结--03(方法、if-else、switch-case)
- 关于C语言中switch的case里定义变量解决编译报错
- 关于C语言中switch的第一个case上面写代码的愚蠢之举
- 关于switch...case...语句(Compiler Error C2360)
- 关于switch case break建议
- 浅析C/C++中的switch/case陷阱
- 浅析内存陷阱以switch-case举例
- 关于javascript中switch-case的简单例子
- switch 语句关于case的使用
- 关于Switch Case 的一点思考
- 关于if和else和switch case的用法和程序编码操作过程
- 浅析C/C++中的switch/case陷阱
- c++中关于while(true)的运用和switch,case的应用
- 实验四第4题:关于switch...case分支语句的使用
- 关于switch。。case的使用中break的重要性
- 关于C/C++中switch语句case中变量不能初始化赋值的问题
- C++中使用switch..case语句的易出错陷阱和规避方法
- 关于switchcase和ifelse的效率对比分析