儘管goto是Java的一個保留字,但是並沒喲阻礙語言中得到正式的使用。雖然goto聲名狼藉,但有的時候使用goto進行跳轉,能達到意想不到的好處。
Java使用continue和break可以實現跳轉的效果,但是兩者有一些不同。
continue實現goto
continue向上跳轉到標籤處,繼續下次循環。
public static void main(String[] args) throws IOException {
lable:
for (int i = 0; i < 5; i++) {
if (i == 3) {
System.out.println("continue, goto lable");
continue lable;
}
System.out.println(i);
}
System.out.println("end");
}
輸出結果:
0
1
2
continue, goto lable
4
end
注意,continue只能跳轉到當前循環或者上層嵌套循環開始位置的標籤,即由內向外向上跳轉。
break實現goto
break向上跳轉到標籤處,結束循環
public static void main(String[] args) throws IOException {
lable:
for (int i = 0; i < 10; i++) {
if (i == 3) {
System.out.println("break, goto lable");
break lable;
}
System.out.println(i);
}
System.out.println("end");
}
輸出結果:
0
1
2
break, goto lable
end