前言
神奇的switch case
,你以为完全掌握的switch case
。。。今天的它看起来十分陌生。。。。
实现代码
问题实例
- 看看以下实例,你以为他会输出什么?
Integer a = 1;
/**
* Example 1
* 你以为Example1只会输出1吗?
*/
switch (a) {
case 0:
System.out.println(0);
case 1:
System.out.println(1);
case 2:
System.out.println(2);
default:
System.out.println("#");
}
/**
* Example 2
* 这里的case会怎么执行呢?
*/
switch (a) {
case 1:
case 2:
System.out.println(2);
break;
case 3:
System.out.println(3);
break;
default:
System.out.println("#");
}
- 看下最终结果
Example1
Example2
- 有木有和想象的完全不一样。。。
原理
switch
语句会跳转到case xxx
位置执行剩下的语句,直到最后遇见第一个break
为止。- 不加
break
的话将会跳转到相应的case
去执行其和其以下的所有语句。
总结
三年都在狗身上写代码