制御フロー

スポンサーリンク

if 文

if (条件式1) 1
else if (条件式2) 2
...
else <sub>else</sub>

if 文の else-if 節,else 節はそれぞれ省略できます。

次のプログラムは,整数 a, b の大小を判定する例です。

using System;

class Program
{
    static void Main()
    {
        int a = 2, b = 3;
        if (a == b)
            Console.WriteLine("a = b");
        else if (n > 0)
            Console.WriteLine("a > b");
        else
            Console.WriteLine("a < b");
    }
}
a < b

複文

ブロック { ... } で 1 つ以上の文を囲んだものは,複文またはブロック文と呼ばれ,文法的には文の一種です。 if 文や for 文などで複数の文を記述したいときは,複文を用います。

if (a > b) {
    tmp = a;
    a = b;
    b = a;
}

switch 文

switch 文は case 定数: というラベルを持つ制御構文です。

switch (選択式)
{
case 定数1:
    処理1
    break;
case 定数2:
    処理2
    break;
    ...
default:
    処理<sub>def</sub>
    break;
}

次のプログラムは,month の値によって処理を振り分ける例です。

using System;

class Program
{
    static void Main()
    {
        int month = 7, days;
        switch (month)
        {
        case 4:
        case 6:
        case 9:
        case 11:
            days = 30;
            break;
        case 2:
            days = 28;
            break;
        default:
            days = 31;
            break;
        }
        Console.WriteLine(days);
    }
}
31

対応する case ラベルが存在しなければ,default: へ処理が移ります。
default 節は省略できます。

for 文

for (初期化部; 条件式; 増分処理) 

次のコードは,for 文を使って配列の各要素を出力する例です。

using System;

class Program
{
    static void Main()
    {
        int[] arr = new[] { 1, 2, 3, 4, 5 };

        for (int i = 0; i < arr.Length; i++)
            Console.WriteLine(arr[i]);
    }
}
1
2
3
4
5

初期化部で宣言された変数 i は,この for 文の中だけで有効です。

while 文

while (条件式) 

次のコードは,while 文を使って配列の各要素を出力する例です。

int i = 0;
while (i < arr.Length)
    Console.WriteLine(arr[i++]);

while 文の後判定バージョンとして,do-while 文があります。

do  while (条件式);

foreach 文

foreach ( 変数 in 配列など) 

次のコードは,foreach 文を使って配列の各要素を出力する例です。

foreach (var e in arr)
    Console.WriteLine(e);

break/continue

break 文はループを脱出するために用います。

for (int i = 0; i < 5; i++)
{
    if (i == 3) break;
    Console.WriteLine(i);
}
0
1
2

continue 文はループ処理を 1 ステップ飛ばすために用います。

for (int i = 0; i < 5; i++)
{
    if (i == 3) continue;
    Console.WriteLine(i);
}
0
1
2
4

goto 文

次のコードは,goto 文を使って 0 から 4 までの数を数え上げる例です。

int i = 0;
Loop:
Console.WriteLine(i++);
if (i < 5) goto Loop;
0
1
2
3
4
スポンサーリンク