switch穿透中语句的执行顺序

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

转载于:https://www.cnblogs.com/EzraOholiabXue/p/Day04_SHJavaTraing_4-6-2017_02.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值