方法一:标签
Java虽然不支持goto语句,但支持标签的写法。在内层循环的break语句后面添加要跳转的标签,即可直接跳出至最外层循环:
public static void main(String[] args) {
int i = 0;
outer:
for (;true;) {
inner:
for (i=0;i<10;i++) {
System.out.println(i);
if(i==3) {
break outer;
}
}
}
System.out.println(i);
}
输出结果:
0
1
2
3
3
方法二:外层循环添加判断条件
在最外层循环的判断条件中添加一个变量(flag)判断,是C++代码通常使用的方法。
public static void main(String[] args) {
int i = 0;
boolean flag = false;
for (;true && !flag;) {
for (i=0;i<10;i++) {
System.out.println(i);
if(i==3) {
flag = true;
break;
}
}
}
System.out.println(i);
}
输出结果:
0
1
2
3
3
PS. java循环结构中标签与continue、break的使用
- 一般的continue会退回最内层循环的开头,并继续执行
- 带标签的continue会到达标签的位置,并重新执行紧接在那个标签后面的循环
- 一般的break会中断并跳出标签所指的循环
- 带标签的break会中断并跳出标签所指的循环