public class test
       {
         public static void main(String args[])
             {
                int a=0;
                outer:  for(int i=0;i<2;i++)
                         {
                           for(int j=0;j<2;j++)
                             {
                              if(j>i)
                                {
                                  continue outer;
                                 }
                                 a++;
                              }
                          }
                System.out.println(a);
              }
         }

解决方案 »

  1.   

    你是不理解 continue outer; 这句话么?常规的continue,只能在其所在的循环体中生效,也即立即开始下一次 for(int j=0但由于其指定了“标签”,所以会直接跳出其所在循环体,立即以“标签”所在位置执行下一次的 for(int i=0大致就是这样了,容易理解不?
      

  2.   

    主要是对for循环的嵌套使用不是很了解.看得有点晕.
      

  3.   

    尽量排版好,就容易看一点了,然后可以自己手动模拟下:
    public static void main(String args[]) {
      int a=0;
      outer: for(int i=0;i<2;i++) {
        for(int j=0;j<2;j++) {
          if(j>i) {
            continue outer; // 会跳过后续的 a++,直接到外层循环的 for(;i<2;i++)
          }
          a++;
        }
      }
      System.out.println(a);
    }
      

  4.   

    非常感谢,对于这个结果等于3一直比较疑惑,现在好像有点眉目了.但是还是不太理解这个for循环的嵌套.