Java | 実務での while と do…while の使い分け

Java Java
スポンサーリンク

では、実務での whiledo...while の使い分けを簡単に判断できるフローチャートを作りました。
テキストベースでわかりやすく整理します。


while vs do…while 選び分けチャート

               ┌──────────────┐
               │ ループ処理を行いたい?     │
               └─────┬────────┘
                         │
                         ▼
               ┌─────────────────────┐
               │ 処理を**最低1回は実行**する必要がある? │
               └───────┬─────────────┘
             Yes │                         │ No
                 ▼                         ▼
      ┌───────────┐         ┌───────────┐
      │ do...while 文を使う │         │ while 文を使う     │
      └─────┬─────┘         └────┬──────┘
                │                             │
                ▼                             ▼
  ┌────────────────┐   ┌─────────────────┐
  │ ループ本体の処理を先に実行後に │   │ 条件式を先に評価して、trueなら  │
  │ 条件式を評価                 │   │ ループ本体を繰り返す           │
  └────────────────┘   └─────────────────┘

チャートの解説(実務視点)

  1. 処理を必ず1回は実行する必要がある場合
    • 例:ユーザー入力、API呼び出し、初期化処理
      do...while が向いている。
  2. 条件を最初に確認できる場合
    • 例:カウンタが最大値に達しているか、ファイル末尾かどうか
      while 文が向いている。
  3. ポイント
    • do...while は「先に処理 → 後で条件判定」
    • while は「条件判定 → 条件がtrueなら処理」

実務コード例で比較

while 文

int i = 0;
while (i < 5) {
    System.out.println(i);
    i++;
}
Java
  • 条件チェックが先 → i が 5 以上ならループしない。

do…while 文

int i = 5;
do {
    System.out.println(i);
    i++;
} while (i < 5);
Java
  • 処理は1回実行される → 出力される(5 が出る)
  • 条件判定後、再実行しない → ループ終了。

実務で覚えておくべきルール

項目whiledo…while
条件判定
最低1回の実行×
ループ回数が0回の可能性OKNG(必ず1回は実行される)
ユースケース例ファイル末尾チェック、カウンタ制御ユーザー入力、APIリトライ、初期処理

💡 実務のコツ

  • 「最低1回実行かどうか」を判断基準に選ぶ
  • 無限ループを避けるために、変数更新や終了条件を必ずループ内で管理
  • 再試行処理や入力検証は do...while が自然

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