Java continueの使い方

使い方

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

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

public class Example {
  public static void main(String[] args) {
    for (int i = 1; i < 10; i++) {
      if (i % 2 == 0) {
        continue;
      }
      System.out.println(i);
    }
  }
}

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

$ java Example
1
3
5
7
9

ラベル

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

多重ループ内で外側の繰り返し処理の次の繰り返しを実行するには、ラベルを指定したcontinue文を使う。

package com.segakuin.example;

public class Example {
  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

continueとbreakの違い

Javaのcontinue文は、繰返し処理の途中で次の繰り返しへスキップする。continueと違い、breakは繰り返し処理(for、while、do while)を終了して抜け出すための制御文である。

breakとcontinue
Figure 1. breakとcontinue