Javaの基礎文法 continue(3-10)

記事上広告

continue文とは

contine文は反復処理を行う際に利用でき、continue文に到達するとcontinue以下の処理は行わず、再度ループを行うかどうかの判断に移行します。

continueの利用

continueはその場所に到達した時点で処理は中断されます。continueは、for文であれば増減式へ、whileであれば条件の部分に移行します。
(この記事中の中断は終わるという意味ではなく、continue以下の処理を実行せずループを続けることを指します)

breakと同様に条件を付けずにcontinueを記述することはできますが、以下のような文はコンパイルエラーとなります。

エラー: この文に制御が移ることはありません
System.out.println(“表示”);
^
エラー1個

continueで次の処理が強制的に増減式に移行するため、表示処理まで到達できないことが原因で、コンパイルエラーが起こります。

continueと表示処理の行を入れ替えるとコンパイルエラーは起こりませんが、continue以下が実行されないため、表示は一度も行われず反復処理の意味がなくなってしまいます。

continueはbreakは同様、条件分岐と組み合わせて利用し、「条件に合致した場合にcontiune以下は実行しない」という流れをつくります。

continue文 サンプルプログラム

以下のプログラムを「Number20.java」という名前でworkフォルダ内に保存します。
保存が完了したら、コマンドプロンプトを起動し、コンパイルおよび実行を行ってみましょう。

実行例

C:\work>javac Number20.java

C:\work>java Number20
1
2
4
5
7
8

※実行例はコンパイルから実行までの例を表示しています。

continueの特徴と注意点

複数のループ処理がネストされている場合はbreak同様、continueを記述した場所によって、どのループ処理を中断するかが異なります。

例えば、一番内側のループ内にcontinueが記述されている場合は一番内側のループ処理のcontinue以下は実行されません。しかし、その外側のループは影響しません。

2重ループの内側にcontinueがある場合

2重ループの外側にcontinueがある場合

また、continueもifなどの条件分岐を中断させる文ではないので、ifが何重になっていても、continueが記述されている直近のループを中断させることになります。

複数のifに囲まれているcontinueがあった場合

whileとcontiuneを組み合わせる際に、以下のようなプログラムを記述すると無限ループになるので気を付けましょう。
上記プログラムでは3で割り切れる際にcontinueされ、表示とインクリメントが実行されません。
次のループはcountがインクリメントされていないため、再度条件に当てはまりcontinueが実行されてしまいます。
上記プログラムでは、continueする前にcountをインクリメントを行う必要があります。

contiune文 復習問題

問題
  • continueは○処理を一旦中断させ、再度○処理を継続させることができる構文である。○に入る語句を選んでください。
  • 以下のプログラムを記述するとどのような結果になるか選んでください。
  • 数字を偶数のみ表示したい。次のプログラムの□に入る記述を選んでください。
  • お疲れ様でした。
解答群
    1. 分岐
    2. 反復
    3. 順次
    4. 逐次
    1. 「表示」という文字が10回表示される
    2. 「表示」という文字が1度だけ表示される
    3. コンパイルエラー
    4. 実行時エラー
    1. i % 3 == 0
    2. i % 3
    3. i % 2 == 0
    4. i % 2

まとめ

  • continueは、continue以下の処理は実行しないがループ処理は継続する
  • 基本的にはifと組み合わせて利用される
  • ループがネストされている場合は直近のループのみが対象となる
  • while文内にインクリメントやデクリメントがある場合は無限ループにならないように注意
参加 ブログランキング

記事頑張って書いたかもねー?と思う方は下を押してもらえるといいかなーなんて
にほんブログ村 IT技術ブログへ
にほんブログ村


Javaランキング

目次へのアクセス
スポンサーリンク
レクタングル

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

スポンサーリンク
レクタングル