方法一:使用循环标签,在循环体上定义循环标签,在需要中断的时候使用 break +循环标签的名字。代码示例如下
public class ForTest {
public static void main(String[] args) {
int n=2;
ok: //最外层循环的标签
for (int i = 0; i <n; i++) {
System.out.println("最外层循环============="+i);
for (int j = 0; j < n; j++) {
System.out.println("中层循环========"+j);
for (int k = 0; k <n; k++) {
System.out.println("里层循环==="+k);
//使用break+标签名字 跳出整个循环
if(k==1) break ok ; }
}
}
}
}
执行效果
上述代码中代码有三层循环,我们如果直接使用break只能中断最里面的循环。若将循环标签定义在最外层,break+标签名字,则可以中断整个循环。现在我们要求从第二层循环开始中断。只需要将标签定义在第二层既可以
代码如下
public class ForTest {
public static void main(String[] args) {
int n=2;
for (int i = 0; i <n; i++) {
System.out.println("最外层循环============="+i);
ok: //中层循环的标签
for (int j = 0; j < n; j++) {
System.out.println("中层循环========"+j);
for (int k = 0; k <n; k++) {
System.out.println("里层循环==="+k);
//使用break+标签名字 跳出中层以内的循环
if(k==1) break ok ; }
}
}
}
}
执行结果
在实际开发中需要根据自己的开发需求去定义标签。
方法二 使用一个自定义标识
public class ForTest {
public static void main(String[] args) {
int n=2;
boolean flag=true;//定义中断循环的标志
for (int i = 0; i <n &&flag; i++) {
System.out.println("最外层循环============="+i);
for (int j = 0; j < n&&flag; j++) {
System.out.println("中层循环========"+j);
for (int k = 0; k <n; k++) {
System.out.println("里层循环==="+k);
if(k==1) {
flag=false;
break;
}
}
}
}
}
}
执行结果: