19
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【ポケモン×Java】知識編 while文#2 〜while文を完全攻略 -do-while編-~

Posted at

はじめに

do-while 文は「本体を先に1回実行してから 条件をチェックする」ループ。

え、whileと何が違うの?

……と思ったトレーナーは要チェック!!

メニュー表示や「もう一度やりますか?」の確認みたいに、
最低1回は必ず動かしたい処理と相性バツグンなんだ。
この記事では、do-while文の基本構文から、代表的な書き方を、
ピカチュウと一緒にわかりやすく紹介していくよ!


🎓 do-whileの基本構文

do {
    // 1回分の処理(ここは必ず実行される)
} while (条件);
  • 実行の順番: 「本体 → 条件判定 →(条件がtrueなら)本体 → …」
  • 特徴: 最初の1周は無条件で走るので、表示や初期化を“まず1回”やってから判断できる。
  • 注意: while (条件)後ろにセミコロンが必要(忘れるとコンパイルエラー)。

🔢 代表的なパターン

パターン 断片コード例 説明
確認ダイアログ do { … } <br>while (ans.equals("y")); 「もう一度やる?」に最適
メニュー選択ループ do { show(); read(); } <br>while (choice != 9); "9で終了" など終端を決めて回す
入力バリデーション <br>(再入力) do { read(); } <br> while (!valid(input)); 1回は聞いてから判定
最低1回は初期化を<br>実行 do { init(); } <br> while (retry); 初期化→結果で再試行
通信/処理のリトライ do { tryOnce(); } <br>while (!ok && retryLeft>0); 1回目のトライを保証

⚡ ピカチュウ例:ポケモンセンター「もう一度回復しますか?」

import java.util.Scanner;

public class PokemonCenter {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in); // デモではcloseしない(他入力で使う可能性があるため)
        String ans;
        do {
            heal();
            System.out.print("もう一度回復しますか?(y/n): ");
            ans = sc.nextLine().trim().toLowerCase();
        } while (ans.equals("y")); // ← y のときだけもう一度!
        System.out.println("いってらっしゃい!");
    }
    static void heal() {
        System.out.println("ポケモンは元気になった!");
    }
}

🪄 次回予告

次は 無限ループと制御while(true) の正しい使い方、break/continue
そして多重ループを一気に抜けるラベル付き制御までまとめていくよ!

ピッピカチュウ!!


あとがき

ここまで読んでくれて、本当にありがとう。

「do-whileって意外と便利!」って思ってもらえたらうれしいな。
次の投稿も、よろしくおねがいします。

💬 コメント・フィードバック歓迎!

「この章わかりやすかった!」
「ここ表現ちがうかも?」
「次は○○をやってほしい!」などなど、
気軽にコメントしてね!


19
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
19
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?