在Java中,可以使用break
语句跳出循环。但是,如果有多层循环嵌套,如何跳出所有循环呢?下面是一些方法:
方法一:使用标签
可以使用标签来标识外层循环,然后在内层循环中使用break
语句跳出外层循环。例如:
outer:
for (int i = 0; i < 10; i++) {
for (int j = 0; j < 10; j++) {
if (i == 5 && j == 5) {
break outer;
}
System.out.println("i=" + i + ", j=" + j);
}
}
上述代码中,outer
是一个标签,用于标识外层循环。当i
等于5且j
等于5时,使用break outer
语句跳出外层循环。
方法二:使用布尔变量
可以使用一个布尔变量来标识是否跳出所有循环。例如:
boolean isBreak = false;
for (int i = 0; i < 10; i++) {
for (int j = 0; j < 10; j++) {
if (i == 5 && j == 5) {
isBreak = true;
break;
}
System.out.println("i=" + i + ", j=" + j);
}
if (isBreak) {
break;
}
}
上述代码中,使用一个布尔变量isBreak
来标识是否跳出所有循环。当i
等于5且j
等于5时,将isBreak
设置为true
,然后在外层循环中判断isBreak
是否为true
,如果是,则跳出所有循环。
示例一
下面是一个示例,使用标签来跳出多层循环:
outer:
for (int i = 0; i < 10; i++) {
for (int j = 0; j < 10; j++) {
for (int k = 0; k < 10; k++) {
if (i == 5 && j == 5 && k == 5) {
break outer;
}
System.out.println("i=" + i + ", j=" + j + ", k=" + k);
}
}
}
上述代码中,使用标签outer
来标识外层循环。当i
等于5且j
等于5且k
等于5时,使用break outer
语句跳出所有循环。
示例二
下面是另一个示例,使用布尔变量来跳出多层循环:
boolean isBreak = false;
for (int i = 0; i < 10; i++) {
for (int j = 0; j < 10; j++) {
for (int k = 0; k < 10; k++) {
if (i == 5 && j == 5 && k == 5) {
isBreak = true;
break;
}
System.out.println("i=" + i + ", j=" + j + ", k=" + k);
}
if (isBreak) {
break;
}
}
if (isBreak) {
break;
}
}
上述代码中,使用一个布尔变量isBreak
来标识是否跳出所有循环。当i
等于5且j
等于5且k
等于5时,将isBreak
设置为true
,然后在内层循环和外层循环中判断isBreak
是否为true
,如果是,则跳出所有循环。