java如何终止多层循环

如题所述

  众所周知,在Java中,如果想跳出for循环,一般情况下有两种方法:break和continue。
break是跳出当前for循环,如下面代码所示:

public class RecTest { 
 
    /**
     * @param args
     */ 
    public static void main(String[] args) { 
        for(int i=0; i< 10; i++){ 
            if(i==5){ 
                break; 
            } 
            System.out.print(i+" "); 
        } 
    } 
}


输出:0 1 2 3 4
也就是说,break会跳出(终止)当前循环。continue是跳出当前循环,开始下一循环,如下所示:

public class RecTest {  
    /**
     * @param args
     */ 
    public static void main(String[] args) { 
        for (int i = 0; i < 10; i++) { 
            if (i == 5) { 
                continue; 
            } 
            System.out.print(i+" "); 
        } 
    } 
}

  输出:0 1 2 3 4 6 7 8 9

   以上两种方法没有办法跳出多层循环,如果需要从多层循环跳出,则需要使用标签,定义一个标签label,
然后在需要跳出的地方,用break
label就行了,代码如下:

public class RecTest {  
    /**
     * @param args
     */ 
    public static void main(String[] args) { 
 
        loop: for (int i = 0; i < 10; i++) { 
            for (int j = 0; j < 10; j++) { 
                for (int k = 0; k < 10; k++) { 
                    for (int h = 0; h < 10; h++) { 
                        if (h == 6) { 
                            break loop; 
                        } 
                        System.out.print(h); 
                    } 
                } 
            } 
        } 
        System.out.println("\nI'm here!"); 
    } 
}

输出:
012345
I'm here!

  

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-04-11

可以为循环添加个标签 要退出循环使用    break 标签;

public static void main(String[] args) {

  rmark:

   for (int i = 0; i < 10; i++) {

    for (int j = 0; j < 10; j++) {

     System.out.println(i+"-"+j);

     if(i==5)

      break rmark;

    }

   }

 System.out.println("循环以终止");

 }

第2个回答  推荐于2017-09-23
return 直接退出来
第3个回答  2014-04-11
break。放那层终止那层
相似回答