C#のdo-while文の特徴と使い方!必ず1回実行されるループとは?
生徒
「C#のループにはいろいろあるって聞いたのですが、do-while文ってどんなときに使うんですか?」
先生
「良いところに気がつきましたね。do-while文は、条件に関係なく“必ず1回だけは処理が実行される”ループ構文です。」
生徒
「それってwhile文と何が違うんですか?」
先生
「それでは、C#のdo-while文の使い方と特徴について、わかりやすく説明していきましょう!」
1. do-while文とは?
C#のdo-while文は、繰り返し処理の一種で、少なくとも1回は必ず処理を実行するという特徴を持っています。これは、最初に条件をチェックするwhile文やfor文とは異なり、まず処理を行ってから条件を確認するという流れになっています。
簡単にいうと、「とりあえず1回はやってみて、そのあと続けるかどうか考える」というイメージです。
2. do-while文の基本構文
以下がC#のdo-while文の基本的な書き方です:
do
{
// くり返す処理
} while (条件);
ポイントは、doの後にブロック{ }があり、その中に繰り返したい処理を書きます。そしてwhile (条件);でループを続けるかどうかを判断します。最後にセミコロン(;)を忘れずにつけましょう。
3. do-while文とwhile文の違いを図で理解しよう
初心者の方にも分かりやすいように、do-while文とwhile文の流れの違いを図解で説明します:
- while文: 最初に条件をチェック → 条件が
trueなら処理 → 繰り返す - do-while文: 最初に処理を実行 → その後で条件をチェック → 条件が
trueなら繰り返す
このため、条件が最初からfalseでも、do-while文では1回は実行されるという点が重要です。
4. do-while文の簡単なサンプルコード
次に、具体的なC#コードでdo-while文の動きを見てみましょう。今回は、1回だけ「こんにちは」と表示される例です。
int count = 0;
do
{
Console.WriteLine("こんにちは!");
count++;
} while (count > 5);
この例では、countは0ですが、条件はcount > 5なので最初からfalseです。しかし、それでもConsole.WriteLineは1回実行されて「こんにちは!」と表示されます。
出力結果は次の通りです:
こんにちは!
5. ユーザー入力を使ったdo-while文の活用例
もう少し実用的な例として、ユーザーに「もう一度やりますか?」と聞くようなプログラムを考えてみましょう。
string input;
do
{
Console.WriteLine("処理を実行しました。");
Console.Write("もう一度やりますか? (y/n): ");
input = Console.ReadLine();
} while (input == "y");
このコードでは、ユーザーが「y」と入力する限り、処理が繰り返されます。最初は必ず「処理を実行しました。」が表示されるので、do-while文の特徴が活かされています。
6. どんなときにdo-while文を使うの?
do-while文は次のような場面で使うと便利です:
- 最初に必ず1回処理したいとき(例:ユーザーに最初の入力を求める)
- 繰り返す前提で、条件チェックはあとで行いたいとき
- ゲームのリスタート確認や、パスワードの再入力など
初心者のうちは、while文と混同しやすいですが、必ず1回実行されるという点を覚えておけば安心です。
7. よくあるミスと注意点
- セミコロンの付け忘れ:
while(条件)の最後にはセミコロン;が必要です。 - 無限ループに注意: 条件が常に
trueになると終わらないループになります。 - 条件の書き方に注意: 変数の更新がないと、ずっと同じ条件のままで止まりません。
このようなポイントに気をつけながら、do-while文を使うようにしましょう。