public void test(int i) {
retry:
for (;;) {
System.out.println("1");
for (;;) {
System.out.println("2");
if (i == 1) {
return;
} else if (i == 2) {
break retry;
} else if (i == 3) {
continue retry;
}
}
}
System.out.println("end");
}
i==1
,直接跳出循環體,返回結果
執行結果:
1
2
i==2
,跳出循環體,跳到retry:
位置,並跳過循環體,執行下面代碼
執行結果:
1
2
end
i==3
跳出循環體,跳到retry:
位置,再次執行retry:
下面代碼
執行結果:
1
2
...
1
2
其實retry就是一個標記,標記程序跳出循環的時候從哪裏開始執行,功能類似於goto。retry一般都是跟隨者for循環出現,第一個retry的下面一行就是for循環,而且第二個retry的前面一般是continue或是 break
retry本身也可以是其它屬性名,如 retry1,retry2等等,遵循java的命名規則可以隨意命名