一、默认跳出break所在的循环
public class JumpCycle {
public static void main(String[] args) {
for(int i=0; i<10; i++) {
for(int j=0; j<5; j++) {
if(j==3) {
break;
}
System.out.print("-");
}
System.out.println("+");
}
}
}
如上代码,会打印输出:
---+
---+
---+
---+
---+
---+
---+
---+
---+
---+
即,内层循环满足break条件时,跳出内层循环体。跳入到外层循环中,执行语句“System.out.println("+");”后,进入下一次内层循环体。
二、使用别名跳出外层循环
1、修改程序给每一层循环起别名
public class JumpCycle {
@SuppressWarnings("unused")
public static void main(String[] args) {
outter : for(int i=0; i<10; i++) {
inner : for(int j=0; j<5; j++) {
if(j==3) {
break inner;
}
System.out.print("-");
}
System.out.println("+");
}
}
}
这里我们给外层循环起名为“outter”,内层循环起名为“inner”。然后,我们修改break语句,改为“break inner”。
执行程序,结果与之前没有变化。即,不加别名,默认执行的为跳出break所在的for循环。
2、修改break语句,指向跳出外层循环
public class JumpCycle {
@SuppressWarnings("unused")
public static void main(String[] args) {
outter : for(int i=0; i<10; i++) {
inner : for(int j=0; j<5; j++) {
if(j==3) {
break outter;
}
System.out.print("-");
}
System.out.println("+");
}
}
}
执行程序,打印输出结果:
---
可见,第一次满足break条件时,break语句执行“break outter”跳出了外层循环outter,语句“System.out.println("+");”不会被执行,程序执行结束。
注:break同样适用于continue等。