マンガで分かる Java入門講座

第5章 様々な処理
5-7. ループ処理4 continue

繰り返し処理を、末尾に移動してやり直す「continue」について紹介します。

● continue

 ループ処理では、繰り返し処理の途中で、繰り返し処理の末尾に飛ばすことができます。

 この処理を行う命令が「continue」です。以下、その例を示します。

図)continueによる処理のスキップ
int a = 0;
for (int i = 1; i <= 100; i ++) { ←─────┐
  if (i % 2 == 0) {             │
    // iを2で割った値が0(偶数)ならば   │
    // a += 1;の行に行かず        │
    //繰り返し処理の末尾に飛ぶ      │
    continue; ────────────┐ │
  }                   │ │
  a += i;   // 奇数の場合だけ加算   │ │
                     │ │
  【末尾】←──────────────┘ │
  末尾に来たら、変化式の処理に移行する───┘
}

● 入れ子になったループ処理でcontinue

 入れ子になったループ処理では、breakと同じように、continueでもラベルを使って対象のfor文を指定できます。

 以下、その例を示します。

ソースコード)外側のループに飛ぶ
int a = 0;
outer:
for (int i = 1; i <= 10; i ++) {
    for (int j = 1; j <= 10; j ++) {
        if ((i * j) % 2 == 0) {
            // i*jが偶数なら外側のfor文に飛ぶ
            System.out.println(i + "*" + j + " 偶数");
            continue outer;
        }
        a += i * j;
        System.out.println(i + "*" + j + " " + a);
    }
}
System.out.println("結果 " + a);

出力)外側のループに飛ぶ
1*1 1
1*2 偶数
2*1 偶数
3*1 4
3*2 偶数
4*1 偶数
5*1 9
5*2 偶数
6*1 偶数
7*1 16
7*2 偶数
8*1 偶数
9*1 25
9*2 偶数
10*1 偶数
結果 25

この講座のマンガ部分は「箱人形マンガ(Box Comic) 」で作成しています。
作成:2013/05/23  更新:2015/08/09  [Permalink]

クロクロ・ショップ
特殊な技術書多数あります
レトロ風RPG フルスクラッチ開発 全コード
レトロゲーム風RPGの全コードを掲載して解説した本
HTML5とJavaScriptで作る 落ち物パズルゲーム 全コード
『テトリス』や『ぷよぷよ』に類似した落ち物パズルゲームの全コードを掲載して解説した本
JavaScriptでリバーシゲームをつくろう
ライブラリを使わずに全コードを書いて、リバーシゲームを作るまでを徹底解説
ワールドマップ自動生成読本
二次元ゲームのワールドマップを自動生成するための本
レトロゲームファクトリー
過去のゲームを最新機に移植する会社のお仕事小説(新潮社)
顔貌売人 ハッカー探偵 鹿敷堂桂馬
プログラマーが探偵役のエンタメ・ミステリー第2弾 最先端の情報犯罪に安藤と鹿敷堂が挑みます(文藝春秋)
裏切りのプログラム ハッカー探偵 鹿敷堂桂馬
プログラマー鹿敷堂桂馬が、女性社長の安藤裕美と共に、IT業界で起きた事件に挑む。2016年の松本清張賞の最終候補作(文藝春秋)
×