多个for循环嵌套的break、continue
·
首先来看break情况,continue只是执行逻辑不一样,使用方式的情况是一样的。
在内层break只能跳出break所在for循环,不能跳出外层循环
public static void main(String[] args) {
for(int i=0;i<10;i++){
for (int j=0;j<10;j++){
if (j==2){
break;
}
}
System.out.println("还会继续执行");
}
}
方案一
在最外层定义变量作为标识符,标识需要跳出整个嵌套循环的条件
public static void main(String[] args) {
int flag = false;
for(int i=0;i<10;i++){
for (int j=0;j<10;j++){
if (j==2){
flag = true;
break;
}
}
// 判断标识符,跳出外层循环
if(flag)
break;
}
}
多层嵌套for循环时,每一层for循环都需要判断这个标识,很麻烦,使用方案二
方案二
在需要break的for循环前定义一个flag,break空格加上flag就能实现
public static void main(String[] args) {
// 也可以写在 for 前面 OUTPUT: for(…..
OUTPUT:
for(int i=0;i<10;i++){
for(int m = 0;m<10;m++){
for (int j=0;j<10;j++){
if (j==2){
flag = true;
// 跳出整个嵌套循环
break OUTPUT;
}
}
}
}
}
更多推荐
已为社区贡献1条内容
所有评论(0)