1.标号
标号是java中的一种特殊标记。可以用于跳出多重循环。
标号必须写在代码块前面,包括for(){},while(){},do{}while(),if(){}和代码块{},当使用break或continue+标号的时候会跳出当前标号的代码块。但continue只能跳出前三个,这也很好理解,continue是跳出当前代码块然后执行下一次,而只有循环表达式才有下一次。示例代码如下:
public static void main(String[] args) {
retry:
for (int i = 0;i < 10;i ++) {
System.out.println(i);
if(i > 5){
break retry;
}
}
}
下面这样写也是可以的:
public static void main(String[] args) {
retry:
break retry;
System.out.println("aaa");
}
这就相当于
public static void main(String[] args) {
retry:
{
break retry;
}
System.out.println("aaa");
}
2.通过外部条件控制
Boolean boo = true;
for (int i = 0; i < 5; i++) {
if(!boo){
break;
}
for (int j = 0; j < 10; j++) {
if(j == 3){
boo = false;
break;
}
System.out.println("i:"+i+";j:"+j);
}
}
3.抛出异常
try{
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 10; j++) {
if(j == 3){
throw new Exception("break");
}
System.out.println("i:"+i+";j:"+j);
}
}
}catch(Exception e){
e.printStackTrace();
System.out.println("out");
}