Javaにはラベル無しのcontinue文とラベル有りのcontinue文がある。

ラベル無しのcontinueは、continue文を含むもっとも内側の繰り返し制御文(for、while、do while)の残りの処理をスキップして、次の繰り返しを実行する。

package com.fc2web.itref;

public class Sample {
    public static void main(String[] args) {
        int i, j = 0;

        for (i = 0; i < 3; i++) {
            for (j = 0; j < 3; j++) {
                if (1 == j) {
                    continue;
                }
                System.out.println("i = " + i + ", j = " + j);
            }
        }
    }
}

上記プログラムの実行結果を示す。

i = 0, j = 0
i = 0, j = 2
i = 1, j = 0
i = 1, j = 2
i = 2, j = 0
i = 2, j = 2

ラベル有りのcontinueは、ラベルを付けた繰り返し制御文(for、while、do while)の残りの処理をスキップして、次の繰り返しを実行する。

package com.fc2web.itref;

public class Sample {
    public static void main(String[] args) {
        int i, j = 0;

        outside: for (i = 0; i < 3; i++) {
            for (j = 0; j < 3; j++) {
                if (1 == j) {
                    continue outside;
                }
                System.out.println("i = " + i + ", j = " + j);
            }
        }
    }
}

上記プログラムの実行結果を示す。

i = 0, j = 0
i = 1, j = 0
i = 2, j = 0
スポンサーリンク