コンテンツへスキップ

レッスン5:② for 文


概要

ここでは、for 文について学習します。for 文は以下のような構文をとります。

for( 初期設定; 条件式; 後処理 )
{
    // 処理 A
}

初期設定とは

繰り返し処理の開始時に1回だけ実行されます。ループカウンター(繰り返しの回数を数える変数)を初期化します。

後処理とは

繰り返しブロック内の処理(上のコードの「処理 A」のこと)が終わると、後処理が実行されます。後処理では、ループカウンターをインクリメント(++)したりデクリメント(‐‐)したりします。

for 文の処理の流れは下図のようになります。

lesson5-2-1

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

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

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

Lesson5_2.cs のプログラムを下記のように変更します。Lesson5_1.cs と同様に 1 ~ 10 までの和を求めたいと思います。

namespace Lesson5
{
    public static class Lesson5_2
    {
        /// <summary>
        /// (1). for 文(1から10までの和)
        /// </summary>
        public static void Text1()
        {
            Console.WriteLine("(1). for 文(1から10までの和)");
            int sum = 0;
            for (int i = 0; i < 11; i++)
            {
                Console.WriteLine(" {0} を足します。", i);
                sum = sum + i;
                Console.WriteLine("  現在の合計は {0} です。", sum);
            }
            Console.WriteLine("--------------------------");
            Console.WriteLine("1から10までの和は {0} です。", sum);
        }
    }
}

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

1 ~ 10 までの和を while 文と for 文でプログラミングしてみました。どちらが見やすいでしょうか。コードの量が少ない for 文のほうがみやすいのではないでしょうか。繰り返しのループカウンターが一行でまとまって記述されているので、「10回繰り返す」ということがすぐにわかると思います。このように、繰り返しの回数があらかじめわかっている場合は、for 文を使うほうがよさそうです。

それでは、while 文を使うことはないのでしょうか。いいえ、そんなことはありません。次に習う break 文と一緒によく使われます。

while 文

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

for 文

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

次に進む

次は、break 文を使った繰り返しについて学びます。