运行结果已知,请教各位大神帮忙分析一下,每一步的过程,要详细过程                            int i=4;
switch(i--){
default:
System.out.println("i不符合判断条件  "+i);
case 1:
System.out.println("i=1  "+i);
case 2:
System.out.println("i=2  "+i);
break;
case 3:
System.out.println("i=3  "+i);
}

解决方案 »

  1.   

    switch(i--)  先--就是先减再使用,这里是后--就是先使用再赋值,所以switch(4);
    进入default:执行打印语句,然后再顺序执行case:1 ;case 2:再case2 最后break;退出循环。
    一般每条case 语句最后都要加break; 不加的话会顺序执行下面的语句。
      

  2.   

    你的部分case语句没有包含break语句,没有break语句会顺序执行所有的case判断,影响性能.