Java Silver 第7回 『while文・do-while文とは』

while文、do-while文は、繰り返し処理を行うための制御構造です。これらの文は、特定の条件が真である限りブロック内のコードを繰り返して実行します。ただし、while文とdo-while文にはいくつか違いが存在し、それについても解説していきます。

Java Silver 第6回ではswitch文について学びました。

この記事はシリーズ記事です。全シリーズはこちらからご覧になれます。

目次

while文とは

while文は、条件が真である限り繰り返し実行される制御構造です。ループの前に条件をチェックするため、ループが一度も実行されない可能性があります。

while文の実行例

このコードは、i が 5 未満の間、i の値を出力し、そのあと i を 1 ずつ増やしていきます。

int i = 0;
while (i < 5) {
    System.out.println("iの値: " + i);
    i++;
}

出力結果
iの値: 0
iの値: 1
iの値: 2
iの値: 3
iの値: 4

do-while文とは

do-while文は、条件が真である限り繰り返し実行される制御構造ですが、ループの中身が最低でも1回は実行されます。そのため、条件の評価はループの最後に行われます。

do-while文の実行例

このコードは、j の値を出力し、その後 j を1ずつ増やしていきます。このループは j が 5 未満の間続き、ループの最後に条件をチェックします

int j = 0;
do {
    System.out.println("jの値: " + j);
    j++;
} while (j < 5);

出力結果
iの値: 0
iの値: 1
iの値: 2
iの値: 3
iの値: 4

while文とdo-while文の注意点

実行のタイミング

while文では、最初に条件をチェックしてからループを実行しますが、do-while文では、まずループを1回実行し、その後条件をチェックします。そのため、条件がfalseの場合、while文とdo-while文では実行回数が異なります。

while文の場合

int i = 10;
int count = 0;
while (i < 10) {
    count++;
}
System.out.println("実行回数 : " + count);

出力結果
実行回数 : 0

do-while文の場合

int i = 10;
int count = 0;
do {
    count++;
} while (j < 10);
System.out.println("実行回数 : " + count);

出力結果
実行回数 : 1

中カッコを省略した場合

while文とdo-while文で中カッコを省略した場合、ブロック内の最初の1行のみ実行されます。

int i = 0;
while (i < 3)
    System.out.println(i);
    i++;
System.out.println("iの値は " + i);

実行結果
このコードを実行すると無限ループになります。上記で説明したように、ロック内の最初の1行のみ実行されるため、i がインクリメントされずにwhile文の条件式がtrueを繰り返してしまいます。

まとめ

今回は、Javaのwhile文とdo-while文について解説してきました。それぞれ繰り返し処理ではあるものの、実行のタイミングが異なることを覚えておきましょう。

次回はfor文について学習します。

(Visited 75 times, 1 visits today)
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

株式会社NEUGATEは、都内で企業研修や職業訓練を運営している会社です。主に、IT系の教育事業に力を入れています。
この記事は、株式会社NEUGATEの教育事業部が執筆をしています。

企業ホームページ:https://neugate.co.jp/

コメント

コメントする

目次