方法一
在java中,要想跳出多重循环,可以在外面的循环语句前定义一个标号(标号位于语句之前,标号只能被continue和break引用),然后再里层循环体的代码中使用带有标号的break语句,跳出循环:
here:
for (int i = 1; i <= 4; i++) {
a1 = "外层循环第"+i+"层";
for (int j = 1; j <= 4; j++) {
b1 = "内层循环第"+j+"层";
if (2 == j & 2 == i) {
break here;
}
}
}
方法二
使外层的循环条件受到内层代码的控制:
Boolean state = true;
for (int i = 1; i <= 4 && state; i++) {
a2 = "外层循环第"+i+"层";
for (int j = 1; j <= 4 && state; j++) {
b2 = "内层循环第"+j+"层";
if (2 == j & 2 == i) {
state = false;
}
}
}
方法三
使用try/catch强制跳出循环:
try {
for (int i = 1; i <= 3; i++) {
a3 = "外层循环第"+i+"层";
for (int j = 1; j <= 3; j++) {
b3 = "内层循环第"+j+"层";
if (2 == j & 2 == i) {
throw new Exception();
}
}
}
} catch (Exception e) {
System.out.println(a3+b3);
}
补充:return和exit的区别
- return是关键字;exit是一个函数
- return表示调用堆栈的返回;而exit表示结束一个进程
- return是函数的退出,exit是进程的退出
- return是编程语言提供,exit是操作系统提供的