【Java】while と do-while の違いをやさしく解説|実行順序と0回実行の仕組みを整理

Java入門・実践
スポンサーリンク
スポンサーリンク

はじめに

Java のループ構文には
while 文do-while 文 の2種類があります。

見た目は似ていますが、
実は 「条件を評価するタイミング」 が違うため、
動作が大きく変わります。

  • while は 0 回実行されることがある
  • do-while は最低 1 回は実行される
  • どっちを使うべきか迷う

こうした疑問を、やさしく・実務寄りに整理していきます。


まずはコードを確認

while 文

Java
int i = 0;

while (i < 3) {
    System.out.println(i);
    i++;
}

do-while 文

Java
int i = 0;

do {
    System.out.println(i);
    i++;
} while (i < 3);

while と do-while の最大の違い

while:先に条件をチェックする(前判定)

Java
while (条件) {
    本体
}
  • 条件が false なら 1回も実行されない
  • 実行前に「やる?やらない?」を判断する

do-while:先に本体を実行する(後判定)

Java
do {
    本体
} while (条件);
  • 条件が false でも 最低1回は実行される
  • 実行後に「続ける?やめる?」を判断する

実例で理解する

while は 0 回実行されることがある

Java
int n = 5;

while (n < 3) {
    System.out.println("Hello");
}

n < 3 が最初から false のため、
1回も実行されない

do-while は必ず 1 回実行される

Java
int n = 5;

do {
    System.out.println("Hello");
} while (n < 3);

出力:

Hello

条件が false でも、
本体が1回実行されてから判定される


while と do-while の実行順序

while の実行順序

① 条件チェック
② 本体
③ 更新
④ ①に戻る

do-while の実行順序

① 本体
② 更新
③ 条件チェック
④ ①に戻る

順番が逆になっているのがポイント。


よくあるミスと注意点

ミス①:do-while を使って意図せず1回実行される

Java
do {
    process();
} while (flag);

flag が false でも process() が1回動いてしまう。

対策

「必ず1回実行したい」場合だけ do-while を使う。

ミス②:while の条件式を更新し忘れて無限ループ

Java
while (i < 3) {
    System.out.println(i);
    // i++ を忘れる
}

対策

ループ変数の更新を忘れない。

ミス③:do-while のセミコロンを忘れる

Java
} while (i < 3) // ← セミコロン必須

do-while は 最後にセミコロンが必要
初心者がよくつまずくポイント。


実務での使い分け

while が向いている場面

  • 条件が true のときだけ実行したい
  • 0回実行の可能性がある
  • 入力チェック、待機処理など

do-while が向いている場面

  • 最低1回は実行したい
  • ユーザー入力の再試行
  • メニュー表示など

まとめ

while

  • 前判定
  • 条件が false なら 0 回
  • 一般的なループでよく使う

do-while

  • 後判定
  • 条件が false でも 1 回実行
  • 特定の場面で便利

decopon
decopon

while と do-while は、 「条件をいつチェックするか」 この1点を押さえるだけで一気に理解が深まります。特に do-while は “最低1回実行” という特徴があるため、 使いどころを知っておくと実務でも安心して使えます。あなたの学びが、次のステップにつながりますように。

moco
moco

while は“やる前にチェック”、
do-while は“やってからチェック”。
この順番を覚えると、ループがもっと読みやすくなるよ。

コメント

タイトルとURLをコピーしました