多階層forループ文における現在の処理をcontinueでスキップし次の処理へ移る

入れ子(ネスト)で多階層にしたfor文において、現在の階層の現在のループ(繰り返し)処理の残りをスキップさせたいときは、continue文を使う。

構文

for ( カウンタ変数を初期化する式A; 条件式A; カウンタ変数を更新する式A ) {
 条件式Aが「true」の間、繰り返し行う処理
 for ( カウンタ変数を初期化する式B; 条件式B; カウンタ変数を更新する式B ) {
  条件式Bが「true」の間、繰り返し行う処理
  for ( カウンタ変数を初期化する式C; 条件式C; カウンタ変数を更新する式C ) {
   条件式Cが「true」の間、繰り返し行う処理
   continue; // 現在の階層の現在のループ(繰り返し)処理の残りをスキップさせ、現在の階層の次のループ(繰り返し)処理へ移る
  }
 }
}

サンプル

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
package samplePackage;

public class SampleClass {

 public static void main( String[] args ){

  for ( int $varA = 1; $varA <= 3; $varA++ ) {
   for ( int $varB = 1; $varB <= 3; $varB++ ) {
    for ( int $varC = 1; $varC <= 3; $varC++ ) {
     if ( $varC == 2 ) {
      continue;
     }
     System.out.println( $varA + "-" + $varB + "-" + $varC );
    }
   }
  }

 }

}

実行結果

1-1-1
1-1-3
1-2-1
1-2-3
1-3-1
1-3-3
2-1-1
2-1-3
2-2-1
2-2-3
2-3-1
2-3-3
3-1-1
3-1-3
3-2-1
3-2-3
3-3-1
3-3-3

入れ子(ネスト)で多階層にしたfor文の実行結果と違い「$varC」が「2」のときの出力がない点に注目。