前回は、条件分岐を説明しました。

繰り返し同じ作業を何も言わず黙々やってくれるのは、コンピュータさんだけです(笑)
面倒な繰り返し作業こそコンピュータに任せるべきです!ってことで、今回は、繰り返し文(ループ文)です。

繰り返し文は、何種類かあります。

for文

for (変数初期化; 繰り返し条件; 変数更新式){
     繰り返したい処理...
}

for each文

foreach(変数宣言 in 配列変数){
     繰り返したい処理...
}

While文

While (繰り返し条件){
     繰り返したい処理...
}

Do While文

do{
     繰り返したい処理...
}While(繰り返し条件)


まずは、よく使われるfor文からです。

for文

for文は、プログラム上よく登場します。必要回数繰り返すとか。最大数まで1から順にデータを読むためにも使います。

もっとも単純なソースプログラムをアップします。

C#

public class loop{
    public static void Main(){
        for(int i=1; i<=5; i++){
            System.Console.WriteLine(i.ToString());    
        }
    }
}

結果

1
2
3
4
5
for文最初の”変数初期化”ですが、int型のiを宣言しています。
セミコロンで区切って次の”繰り返し条件”ですが、ここには、繰り返し処理させるためのルールを記述します。今回は「iが5以下の場合は{...}を処理させる」という意味になります。

次にi++です。インクリメントと呼ばれ、このように書くとiに1が足されます。更新式は、{...}が一通り終わった後に計算されます。インクリメントは、通常のプログラム中にも書けます。
i++;  //i=i+1;と同じ意味

話を戻しますが、結果の通り1から5までの値が出力されました。
処理中に、if文を入れてbreak;でforから脱出することも可能です。

C#

public class loop{
    public static void Main(){
        for(int i=1; i<=5; i++){
            System.Console.WriteLine(i.ToString());
            if (i==3) break;
        }
    }
}

結果

1
2
3


for文の中にfor文を書くこともできます。二次元を処理するときによく使います。算数の九九が二次元で計算できるので、サンプルソースをアップします。

C#

public class loop{
    public static void Main(){
        int val;
        for (int i=1; i<=9; i++){
            for (int j=1; j<=9; j++){
                val = i*j;
                System.Console.Write(val.ToString() + " ");
            }
            System.Console.Write("\n");
        }
    }
}

結果

1 2 3 4 5 6 7 8 9 
2 4 6 8 10 12 14 16 18 
3 6 9 12 15 18 21 24 27 
4 8 12 16 20 24 28 32 36 
5 10 15 20 25 30 35 40 45 
6 12 18 24 30 36 42 48 54 
7 14 21 28 35 42 49 56 63 
8 16 24 32 40 48 56 64 72 
9 18 27 36 45 54 63 72 81 
九九の答えだけを出力したものになります。いつもWriteLine関数を使って結果出力しているのですが、この関数(メソッド)は最後に改行が自動で入るので、改行が入らないWrite関数を使っています。そして"\n"という文字を九九の段が終わったところで入れています。この文字が改行を表しており結果を見やすくしています。

foreach文ですが、配列とセットで使うことが多いので、配列の記事で説明します。

次回は、While文です。