コンテンツへスキップ

レッスン5:③ break 文


概要

ここでは、break 文について学習します。break 文を使うと、繰り返し処理中に、途中でループの外側({}ブロックの外側)に脱出することができます。

while 文と一緒に使われることが多いので、ここではその例を示します。

while( 繰り返しの条件 )
{
    // 処理 A

    if( 繰り返しを終える条件 )
    {
        break;
    }
}

break 文を使った while 文の処理の流れは下図のようになります。

lesson5-3-1

STEP1:C# プログラム(ファイル)を追加する

こちらの記事を参考にして、コンソールアプリ(プロジェクト名:Lesson5)に C# プログラム(ファイル名:Lesson5_3)を追加します。

STEP2:プログラムを記述する

Lesson5_3.cs のプログラムを下記のように変更します。1 から順に数字を足していき、100 を超えたら足すのを止めたいと思います。

namespace Lesson5
{
    public static class Lesson5_3
    {
        /// <summary>
        /// (1). while 文(1 から順に数字を足していき、100 を超えたら終わり)
        /// </summary>
        public static void Text1()
        {
            Console.WriteLine("while 文(1 から順に数字を足していき、100 を超えたら終わり)");
            int x = 1;
            int sum = 0;
            while(true)
            {

                Console.WriteLine(" {0} を足します。", x);
                sum = sum + x;
                Console.WriteLine("  現在の合計は {0} です。", sum);

                if(100 < sum)
                {
                    break;
                }

                x++;
            }
            Console.WriteLine("--------------------------");
            Console.WriteLine("1 から {0} までの和は {1} で、初めて 100 よりも大きくなります。", x, sum);
        }
    }
}

STEP3:プログラムを比較する

改めて、for 文と while 文を比較してみましょう。for 文は繰り返しの回数が分かっているとき、while 文は、繰り返しの回数が不明なとき(break 文とセットで使う)に使うといいと思います。

for 文(1から10までの和)

int sum = 0;
for (int i = 0; i < 11; i++)
{
    Console.WriteLine(" {0} を足します。", i);
    sum = sum + i;
    Console.WriteLine("  現在の合計は {0} です。", sum);
}

while 文(和が 100 を超えるまで)

int x = 1;
int sum = 0;
while(true)
{

    Console.WriteLine(" {0} を足します。", x);
    sum = sum + x;
    Console.WriteLine("  現在の合計は {0} です。", sum);

    if(100 < sum)
    {
        break;
    }

    x++;
}

次に進む

次は、2重ループといって、少し難しい繰り返しの処理について学びます。