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

时间:2022-04-19 19:19:16

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;
}
}
}