forの考え方

2018年12月7日

for文を使わずにループを作成してみることで理解を深めましょう

自然と理解できるまで、頑張って覚えましょうね。

分解して考えましょう

forの構文は普段の生活では馴染みが薄いので、とっつきにくい感覚がありますよね。今回は、変数の宣言、代入、if文を使って考えてみましょう。

goto文を使っていますが、サンプル用なので、多用はしないでください。

for文を使わないで作ったループ

コード

[highlight_csharp]
class Program
{
    static void Main(string[] args)
    {
        // int型の変数iを0で初期化
        int i = 0;
    // ここまで戻るためのラベル指定
    start:
        Console.WriteLine("test");
        // 変数iのインクリメント
        i++;
        // もし、i が5より小さければ、startラベルまでジャンプ
        if (i < 5)
        {
            goto start;
        }
        // iが5以上なら終わる
        Console.WriteLine("ループ終わり");
    }
}
[/highlight_csharp]

結果

test
test
test
test
test

for文を使ったループ

コード

[highlight_csharp]
class Program
{
    static void Main(string[] args)
    {
        for (int i = 0; i < 5; i++)
        {
            Console.WriteLine("test");
        }
    }
}
[/highlight_csharp]

結果

test
test
test
test
test

結果が同じなります。

結果から学びましょう

[highlight_csharp]
int i = 0;
i < 5;
i++;
[/highlight_csharp]

この3つのステートメントを見てください。
上記2つのコードにありますよね。
for文のカッコ内をもう一度じっくり確認して、しっかり仕組みを考えてみましょう。

ループ変数を表示してみましょう

[highlight_csharp]
Console.WriteLine("test");
[/highlight_csharp]

この部分を次のように変えてみましょう。

[highlight_csharp]
Console.WriteLine(i);
[/highlight_csharp]

どうなりましたか?

0
1
2
3
4

そうですね。変数iの値が順番に表示されます。5回繰り返すのですが、初期値が0なので、0から始まって4までの5つになります。
カウントアップなので、1から始めたいなーと思われるかもしれませんが、プログラム言語の場合、0から数える方が便利な仕組みが多いので、このパターンで覚えておくといいと思います。

ちなみに配列、リストなどは0を基準にする例になります。

2018年12月7日C#

Posted by hidepon