whileでJavaの繰り返しの基本を学ぶ! forとの使い分けも解説
  • facebookページ
  • twitterページ
  • 2019.12.27

    whileでJavaの繰り返しの基本を学ぶ! forとの使い分けも解説

    whileは繰り返し処理

    Javaで繰り返し処理で使う「while」構文。

    この記事では、Javaの「while」構文を使って、繰り返し処理を行う方法を解説します。

    whileの基本

    Javaの「while」は、大きく条件式と、処理ブロックで構成され、構文は以下のようになります。

    「while」は、条件式が一致している間、「{」から「}」のブロック内の処理を繰り返し実行します。

    では、簡単なサンプルコードで、実際に動かしてみましょう。次の例は、変数 「cnt」が5に達するまで繰り返しを行うコードです。

    サンプルコードを実行すると、次のような実行結果が出力されます。

    ■ 実行結果

    では、「while」の条件式が最初から不一致だった場合、どうなるのでしょうか?

    答えは、一度も「while」内の処理が実行されません。

    試しに、条件式が必ず不一致となる「while」文を作成して実行してみましょう。

    ■ 実行結果

    結果を見て分かるように、「while」の条件式が最初から不一致だった場合、一度も「while」内の処理が実行されません。

    do-whileでループの最後に条件判定

    次に「do-while」構文の使い方について解説します。「do-while」は「while」文とは異なり、処理ブロックの最後で条件式の判定をします。

    「do-while」の構文は以下の通りです。

    「do-while」は、処理ブロックの最後で条件式の判定をする為、最初から条件式が一致しない場合でも、必ず1回は処理が実行される点が、「while」と異なります。

    実際に、必ず1回は処理が実行されるか、次のサンプルコードで動きを見てみましょう。

    ■ 実行結果

    ループを途中で抜ける「break」

    「break」は、ループ処理を途中で抜けたいときに使用します。「break」が実行されると、「while」の外側へ処理が移動します。

    実際に、サンプルコードを見ていきましょう。

    ■ 実行結果

    処理をスキップする「continue」

    「continue」は、その時点で繰り返し処理をスキップし、次のループ処理を先頭から実行します。

    次のサンプルコードは、変数「number」が偶数の時は、「continue」を実行して、奇数の時だけコンソールに変数「number」の値を出力しています。

    ■ 実行結果

    ポテパンダの一言メモ

    「break」と「continue」の違いは以下の通りです。

    break文=繰り返しの処理ブロックから抜け出す
    continue文=次のループ処理を先頭から実行

    また、「break」および「continue」は、「for」文でも利用できます。

    「while」と「for」文の使い分け

    Javaには「while」の他に、「for」文でも繰り返し処理ができます。「for」文に出来ることは「while」でも書け、使い分けに困ることもあるでしょう。

    使い分けの、明確な基準はありませんが、一般的には、以下の方針で使い分けされることが多いようです。

    回数が決まってる繰り返しは「for」

    開始と終了のインデックスが決まっいる繰り返し処理は、「for」文が適しています。

    例えば以下のようなケースでは、「for」を使用します。

    ・ 決まった回数の繰り返し
    ・ 配列/Listの繰り返し

    試しに、配列の繰り返し処理を、「while」と「for」で書き比べたものが、以下のサンプルコードです。

    ▪️ 「while」で配列の繰り返し

    ▪️ 「for」で配列の繰り返し

    「while」で書かれた方は、ソースの行数が多く見にくくなっているのに対し、「for」で書いた方はスッキリ見やすくなっており、ループを抜ける条件の間違いもなさそうです。

    回数が決まっていない繰り返しは「while」

    繰り返す回数が事前に分かっていない場合は、「while」文が適しています。例えば、ファイルを読み込む処理などは「while」を使います。

    Javaでファイルを読み込む場合、事前に行数を把握する事は難しいため、ファイルの1行目から順々に読んでいき、読み込む行が無くなったら(読み込んだ行がnullだったら)繰り返しを終了します。

    このように、繰り返しを終了する条件が、回数ではなく、条件式で表される場合、「while」を使用します。

    繰り返し処理はJavaのキホン

    Javaに限らす、繰り返し処理は、プログラミングにおける基本です。この機会にマスターしておきましょう。

    「while」をマスターしたら、同じ繰り返し構文の「for」文を以下の記事で学びましょう。

    【関連記事】
    【必須スキル】繰り返し処理で利用するJava for文の使い方について解説!



    優良フリーランス案件多数掲載中!
    フリーランスエンジニアの案件をお探しなら
    ポテパンフリーランス

    この記事をシェア

    • Facebookシェア
    • Twitterシェア
    • Hatenaシェア
    • Lineシェア
    pickup









    ABOUT US

    ポテパンはエンジニアと企業の最適なマッチングを追求する企業です。

    READ MORE