关于SWITCH中CASE的执行顺序其实是一个挺有意思的小问题,带不带break,或者break放置在哪里都会对最终结果产生影响,其实判断最终结果只要找到入口点和最近的一个break就行,然后入口点和这个最近的break之间的所有语句都会被执行。但是有一种比较特别的情况如下:
- package zx.package01;
- public class Switchtest {
- public static void main(String[] arges)
- {
- int x=10 ;
- switch(x)
- {
- default:
- System.out.println("nothing");
- //break;
- case 5:
- System.out.println("5");
- //break;
- case 4:
- System.out.println("4");
- //break;
- case 3:
- System.out.println("3");
- //break;
- }
- }
- }
default最放置在最前面,而且x=10意味着不能从case找到入口,那么它的入口就在default了,从default开始执行然后一路向下,直到遇到break。