关于SWITCH中CASE的执行顺序

关于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。

猜你喜欢

转载自blog.csdn.net/dingguanyi/article/details/80642099