Day04_SHJavaTraing_4-6-2017
计算下列switch语句的运行结果
1.
1 int x = 2,y=3; 2 switch(x){ 3 4 default: 5 y++; 6 7 case 3: 8 y++; 9 break; 10 11 case 4: 12 y++; 13 } 14 System.out.println("y="+y);
结果:y = 5
分析:首先根据选择情况是x是2,没有找到case是2的选项,所以找到default执行y++,又因为没有遇到break所以产生case穿透,继续往下执行,遇到break跳出,最后y变为5。
2.
1 char ch = '8'; int r = 10; 2 switch (ch) { 3 case '7': 4 r = r + 3; 5 6 case '8': 7 r = r + 5; 8 9 case '9': 10 r = r + 6; 11 break; 12 13 default: 14 r = r + 8; 15 } 16 System.out.println(r);
结果:r = 21
分析:字符ch匹配case ‘8’,执行 r = r + 5; 因为没有break结束流程,继续执行case ‘9’:r = r +6; break中断switch执行,r = 21