关于SWITCH中CASE的执行顺序

本文探讨了JAVA中SWITCH语句的执行逻辑,特别是在缺少BREAK语句时的行为特性。通过一个具体例子展示了当DEFAULT标签置于开头且没有匹配CASE时,如何从DEFAULT开始执行并继续到下一个BREAK语句。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

关于SWITCH中CASE的执行顺序其实是一个挺有意思的小问题,带不带break,或者break放置在哪里都会对最终结果产生影响,其实判断最终结果只要找到入口点和最近的一个break就行,然后入口点和这个最近的break之间的所有语句都会被执行。但是有一种比较特别的情况如下:

[java]  view plain  copy
  1. package zx.package01;  
  2.   
  3. public class Switchtest {  
  4.         public static void main(String[] arges)  
  5.         {  
  6.             int x=10 ;  
  7.             switch(x)  
  8.             {  
  9.             default:  
  10.                 System.out.println("nothing");  
  11.                 //break;  
  12.             case 5:  
  13.                 System.out.println("5");  
  14.                 //break;  
  15.             case 4:  
  16.                 System.out.println("4");  
  17.                 //break;  
  18.               
  19.             case 3:  
  20.                 System.out.println("3");  
  21.                 //break;  
  22.                 }  
  23.         }  
  24. }  

default最放置在最前面,而且x=10意味着不能从case找到入口,那么它的入口就在default了,从default开始执行然后一路向下,直到遇到break。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值