方法一:標籤
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會中斷並跳出標籤所指的循環