完整结果应该是i=1,j=4;
流程是这样的首先由default:开始执行,然后是case 4:,case 5:,所以正好运行了三次j++,最后j=4

解决方案 »

  1.   

    问一下,为什么case 2,case 3没有执行(是不是因为i<>2,i<>3啊),而case 4,case 5却执行了呢?
      

  2.   

    奥,刚才差了一下书,在没有break的情况下,一旦case块执行了一次,那么下面如果还有case块的话,不管符不符和条件,都会继续执行下去,直至switch块结束
      
      int k=10;
      switch(k)
      {
         case 10:
         System.out.println("10");
         case 20:
         System.out.println("20");
       }
    输出结果为
    10
              20
      

  3.   

    完全同意Patrick_DK(疾风摩郎)的解释.
    同VC中的switch语句一样的啦
      

  4.   

    switch语句中的case如果不带break的话,将继续执行后面的case.
    i=1,所以,case 2和case 3跳过。执行default,一直到switch语句结束。
    所以结果:j=4.