導入
「条件を満たす間ずっと繰り返す」——回数が事前に決まっていない繰り返しにはwhileを使います。
図解
flowchart TB
C{"条件を満たす?"} -->|true| B["本体を実行"]
B --> C
C -->|false| E["ループ終了"]
サンプル
// 条件が true の間、繰り返す
int count = 3;
while (count > 0)
{
Console.WriteLine($"残り{count}");
count--; // count = count - 1
}
Console.WriteLine("発射!");
// 残り3 / 残り2 / 残り1 / 発射!
// do-while は「まず1回実行してから条件判定」
int n = 0;
do
{
Console.WriteLine("最低1回は実行される");
} while (n > 0); // 条件は false だが、本体は1回実行済み
while (条件): 条件がtrueの間、繰り返す- ループの中で条件を
falseに近づけないと無限ループになる(count--が重要) do { } while (条件): 先に1回実行してから条件を判定する
演習
int money = 100;
int price = 30;
int count = 0;
// TODO: money が price 以上ある間、price を支払い続け、
// 買えた回数を count に数えて "3個買えます" の形式で出力してください
___
- 期待される出力:
3個買えます
ヒント1を見る
while (money >= price) { money -= price; count++; }
ヒント2を見る
上のループの後にConsole.WriteLine($"{count}個買えます");
まとめ
while (条件)は条件を満たす間の繰り返し- 条件を変化させないと無限ループになる
do-whileは必ず1回は実行してから判定する
次回: コレクションを1件ずつ処理するforeachです。