では、「メニュー・リトライ・入力 の3パターンを 1枚の図+表で比較」して、
一目で違いと使いどころが分かるように整理します。
do…while 実務パターン比較
| パターン | 目的 | 条件チェックのタイミング | 特徴 | 例 |
|---|---|---|---|---|
| メニュー処理 | ユーザーが選択するまで繰り返す | ループの最後(最低1回は表示) | 選択肢を提示 → 選ばれるまで繰り返す | CLIツールのメニュー、管理画面の操作 |
| 入力バリデーション | 入力値が正しいか確認する | ループの最後(最低1回は入力) | 範囲外・不正なら再入力を促す | 年齢や数量の入力チェック |
| リトライ処理 | 処理が失敗した場合に再試行 | ループの最後(最低1回は実行) | 例外や失敗判定 → 条件次第で再試行 | API通信、ファイル書き込み、DB接続 |
視覚的フロー図(言葉で表現)
┌────────┐
│ do start │
└─────┬──┘
│
▼
┌─────────┐
│ 本体処理 │
│ (メニュー/ │
│ 入力/リトライ) │
└───┬─────┘
│
▼
┌────────┐
│ 条件チェック │
│ (終了条件?) │
└───┬────┘
│ true ──┐
▼ │
ループ終了 │
│
false ──> │ 1回以上実行するために戻る
フロー解説
doブロックで必ず1回処理を実行- 条件式で終了判定
- 条件が
true→ ループ終了 - 条件が
false→ 再びdoに戻る
実務でのポイントまとめ
- 共通点:どのパターンも「最低1回実行」が保証される
- 使い分け
- メニュー:ユーザー操作主体
- 入力チェック:値の正当性確認
- リトライ:失敗した処理を再試行
- 拡張性:
- それぞれの処理はメソッド化 → 再利用しやすい
- リトライはラムダ式や例外処理と組み合わせると安全
💡 視覚的にもコード的にも、この図+表のセットを覚えておくと、do...while を使う場面がすぐイメージできるようになります。
