Java break、continue実現goto

5259 ワード

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