java基础面试题:java中有没有goto? 在JAVA中如何跳出当前的多重嵌套循环?

goto是Java的保留关键字,但是从来没有直接使用到goto,goto的跳转作用在Java中受到了限制,只有在特定场合下才能使用,如while for等循环中用continue、break或结合标签一起使用,来进行跳转

package com.swift;

import java.util.Random;

public class GoTo_Test {

    public static void main(String[] args) {
        /*
         * java中有goto吗?
         */
         outer: 
             for (int i = 0; i < 10; i++) { 
                     System.out.println("\nouter_loop:" + i); 
                     inner: 
                     for (int k = 0; i < 10; k++) { 
                             System.out.print(k + " "); 
                             int x = new Random().nextInt(10); 
                             if (x > 7) { 
                                     System.out.print(" >>x == " + x + ",结束inner循环,继续迭代执行outer循环了!"); 
                                     continue outer; 
                             } 
                             if (x == 1) { 
                                     System.out.print(" >>x == 1,跳出并结束整个outer和inner循环!"); 
                                     break outer; 
                             } 
                     } 
             } 
             System.out.println("------>>>所有循环执行完毕!"); 
    }

}

 在JAVA中如何跳出当前的多重嵌套循环?

ok:
for(inti=0;i<10;i++)    {
          for(intj=0;j<10;j++)            {
                  System.out.println(“i=”+ i + “,j=” + j);
                  if(j == 5) break ok;
          }
}

也可以让外层的循环条件的结果受到里层循环体的控制

int arr[][] = {{1,2,3},{4,5,6,7},{9}};
boolean found = false;
for(int i=0;i<arr.length &&!found;i++)   {
          for(intj=0;j<arr[i].length;j++){
                  System.out.println(“i=”+ i + “,j=” + j);
                  if(arr[i][j]  == 5) {
                          found= true;
                          break;
                  }
          }
}

 

posted @ 2018-01-21 19:10  Advancing-Swift  阅读(744)  评论(0编辑  收藏  举报