Java中如何跳出当前的多重循环
可以在外面的循环语句前定义一个标记,然后在内层循环体的代码中,使用带标记的break语句,即可跳出外层循环。
public class testBreak {
// break:如果是嵌套循环,break将跳出最内层的循环,只有逐层break才能跳出所有循环。
public static void main(String[] args) {
for(int i=0;i<3;i++) {
flag1:
for (int j = 1; j < 6; j++) {
System.out.println("i=" + i + ",j=" + j);
if(j==2) break flag1;
}
System.out.println("break跳出当前的这一层循环,程序还在执行");
}
}
}
运行结果
Java中如何跳出当前的多重嵌套循环?
除了上述用标记的方式,还可以让外层的循环条件表达式的结果受到内层循环体的控制。
以下面的二维数组为例。数组a[1] [1]表示的是第二行的第二个元素的值,即数字5。
public class testBreak {
public static void main(String[] args) {
int arr[][]={{1,2,3},{4,5,6},{7,8,9}};
boolean flag = false;
for(int i=0 ; i < arr.length; i++) {
for (int j = 0; j < arr.length; j++) {
System.out.println("i=" + i + ",j=" + j);
if (arr[i][j] == 5) {
flag = true;
break;
}
}
}
}
}
运行结果
说明:二维数组arr={{1,2,3},{4,5,6},{7,8,9}},在内层设置一个标记为flag,如果flag=5,即i=1,j=1时,flag为true,break会跳出内层的循环。所以只有数字a[1][2],即数字6,不会被输出。