初心者向けガイド:while文の基本と活用方法

イントロダクション

プログラミングでは、繰り返し処理を効率的に実現するための構文がいくつかあります。その中でも、特定の条件が満たされている間だけ繰り返しを実行するのに便利なのがwhile文です。今回は、while文の基本構造と使い方について初心者向けに解説します。


1. while文の基本構造

while文は次のように記述します:

while (条件)
{
    繰り返し実行したい処理;
}

各部分の説明

  • 条件: ループを続けるかどうかを判定します。条件が満たされている(真である)間、処理が繰り返されます。
  • 繰り返し処理: 条件が真である場合に実行されるコードブロックです。

2. 実例で学ぶwhile文

例1: 簡単なカウントアップ

以下のコードは、1から5までの数字を表示します。

int i = 1;

while (i <= 5)
{
    Console.WriteLine(i);
    i++;
}

動作の流れ

  1. 初期化: int i = 1iを1に設定。
  2. 条件の判定: i <= 5 が真であれば処理を実行。
  3. 処理の実行: Console.WriteLine(i) で現在のiの値を出力。
  4. 変数の更新: i++iを1増やす。
  5. 条件が満たされている限り、この流れを繰り返す。

出力結果

1
2
3
4
5

例2: ユーザー入力を使用する

次のコードは、ユーザーが"exit"と入力するまで繰り返します。

string input = "";

while (input != "exit")
{
    Console.WriteLine("終了するには 'exit' と入力してください:");
    input = Console.ReadLine();
}

Console.WriteLine("プログラムを終了します。");

動作の流れ

  1. 初期化: inputに空文字列を設定。
  2. 条件の判定: input != "exit" が真である限り処理を実行。
  3. ユーザー入力: Console.ReadLine() で入力を取得し、inputに代入。
  4. 条件が満たされなくなった場合("exit"を入力した場合)、ループを終了。

3. while文の応用

例1: 合計を計算する

以下のコードでは、1から100までの合計を計算します。

int sum = 0;
int i = 1;

while (i <= 100)
{
    sum += i;
    i++;
}

Console.WriteLine($"合計: {sum}");

出力結果

合計: 5050

例2: 条件を変更して終了する

次のコードでは、ランダムな数を生成し、5が出るまで繰り返します。

Random random = new Random();
int number = 0;

while (number != 5)
{
    number = random.Next(1, 10); // 1から9までのランダムな数
    Console.WriteLine($"生成された数: {number}");
}

Console.WriteLine("5が生成されたので終了します。");

例3: 配列を操作する

配列の要素をすべて表示するコードを示します。

string[] fruits = { "りんご", "バナナ", "みかん" };
int index = 0;

while (index < fruits.Length)
{
    Console.WriteLine(fruits[index]);
    index++;
}

出力結果

りんご
バナナ
みかん

4. 注意点とベストプラクティス

注意点: 無限ループに気をつける

条件が常に真の場合、ループが終わらなくなる無限ループが発生します。以下の例では、iが更新されないため無限に繰り返されます。

int i = 1;
while (i <= 5)
{
    Console.WriteLine(i);
    // i++ がないため無限ループになる
}
  • 対策: 必ずループ内で条件を変化させる処理を入れるようにしましょう。

while文とdo-while文の違い

  • while文: 条件を判定してからループを開始します。
  • do-while文: 最初に一度だけ処理を実行し、その後条件を判定します。
do
{
    Console.WriteLine("このメッセージは必ず1回表示されます。");
} while (false);

出力結果

このメッセージは必ず1回表示されます。

5. 練習問題

問題1: 1から100までの偶数の合計を計算する

1から100までの偶数のみを足し合わせた合計を表示してください。

int sum = 0;
int i = 2;

while (i <= 100)
{
    sum += i;
    i += 2;
}

Console.WriteLine($"合計: {sum}");

問題2: ユーザーの入力に応じたメッセージを繰り返し表示する

ユーザーが"stop"と入力するまで、入力されたメッセージを繰り返し表示してください。

string input = "";

while (input != "stop")
{
    Console.WriteLine("メッセージを入力してください(終了するには 'stop' と入力):");
    input = Console.ReadLine();
    if (input != "stop")
    {
        Console.WriteLine($"入力されたメッセージ: {input}");
    }
}

Console.WriteLine("プログラムを終了します。");

6. まとめ

  • while文の基本: 条件が満たされている間、処理を繰り返します。
  • 適用例: ユーザー入力、数値の計算、ランダムな条件など。
  • 注意点: 無限ループを避けるため、条件を適切に管理しましょう。

while文を活用することで、より柔軟なプログラムを作成できるようになります。まずは基本的な例から試してみましょう!

C#,学習,繰り返し

Posted by hidepon