C#のfor文の基本!繰り返し処理をわかりやすく解説
生徒
「C#で同じ処理を何度も繰り返すには、どうすればいいですか?」
先生
「その場合は、for文という繰り返し処理の構文を使いますよ。」
生徒
「それって、どういう仕組みなんですか?」
先生
「順番に数字をカウントしながら、何度も同じ処理を行うことができるんです。では詳しく見ていきましょう!」
1. for文とは?
for文(フォーぶん)は、C#で同じ処理を繰り返すときに使う繰り返し処理(ループ)です。たとえば、0から9までの数字を表示したいときに、同じConsole.WriteLine()を10回書くのではなく、for文を使って簡単に処理をまとめることができます。
「繰り返す」と聞くと難しく感じるかもしれませんが、毎朝アラームが鳴るとか、毎日学校へ行く、というように、日常でも同じことを何度もする場面はありますよね。プログラムでも、似たようなことを何度もするときに、このfor文を使います。
2. for文の基本構文
まずは、C#のfor文の基本的な書き方を見てみましょう。
for (int i = 0; i < 5; i++)
{
Console.WriteLine("こんにちは!");
}
このコードは、「こんにちは!」と5回表示します。
forのカッコの中には、次の3つの部分があります:
- 初期化:
int i = 0;変数iを0からスタート - 条件:
i < 5;iが5未満の間だけ繰り返す - 更新:
i++;iの値を1ずつ増やす(i = i + 1と同じ意味)
このように、for文では「何回繰り返すか」が決まっている場合にとても便利です。
3. for文の実行結果
先ほどのfor文の実行結果は次のようになります。
こんにちは!
こんにちは!
こんにちは!
こんにちは!
こんにちは!
このように、同じ命令を5回繰り返すことができました。
4. 数をカウントしながら繰り返す
for文では、カウントの数を表示することもできます。
for (int i = 1; i <= 3; i++)
{
Console.WriteLine(i + "回目の処理です。");
}
このコードは、1回目、2回目、3回目とカウントしながら表示します。
1回目の処理です。
2回目の処理です。
3回目の処理です。
iの値を表示することで、今が何回目のループなのかが分かります。
5. for文と変数の関係
for文では、繰り返しの中で変数の値を変えて使うことがよくあります。
たとえば、1から10までの合計を出すには次のように書きます:
int sum = 0;
for (int i = 1; i <= 10; i++)
{
sum = sum + i;
}
Console.WriteLine("合計は " + sum + " です。");
合計は 55 です。
sum(サム)は「合計」という意味の変数です。sum + iの結果を毎回sumに足していくことで、合計が計算されます。
6. for文の注意点
for文の条件を間違えると、無限ループという状態になってしまうことがあります。
for (int i = 0; i >= 0; i++)
{
Console.WriteLine("終わりません!");
}
この例では、i >= 0の条件がずっと真(true)のため、for文が永久に終わらなくなってしまいます。
無限ループになると、プログラムが止まらず、コンピューターの動作が重くなる原因になるので注意しましょう。
7. for文の中で条件分岐も可能
for文の中でif文を使えば、特定の条件のときだけ処理を変えることもできます。
for (int i = 1; i <= 5; i++)
{
if (i % 2 == 0)
{
Console.WriteLine(i + "は偶数です。");
}
else
{
Console.WriteLine(i + "は奇数です。");
}
}
1は奇数です。
2は偶数です。
3は奇数です。
4は偶数です。
5は奇数です。
%(パーセント記号)は「割ったときの余り」を表す演算子で、i % 2 == 0は「偶数かどうか」を調べています。
まとめ
C#のfor文は、初心者が最初に覚えるべき重要な構文のひとつです。繰り返し処理を行いたいときに、このfor文を使うことで、同じ処理を簡潔に書くことができるようになります。特に、回数が決まっている処理や、カウントアップしながら何かを表示したり、合計を計算したりする場面ではとても便利です。
初期化・条件式・更新という3つのパーツからなる構文は、一見すると難しそうに見えますが、流れを一度理解してしまえば自然と書けるようになります。プログラミングの基本は、「何度も同じ処理を繰り返すこと」が多いため、このfor文をしっかり使いこなせると、いろいろな場面で応用がききます。
たとえば、次のようにfor文を使って、九九の表を表示することもできます。
for (int i = 1; i <= 9; i++)
{
for (int j = 1; j <= 9; j++)
{
Console.Write(i * j + "\t");
}
Console.WriteLine();
}
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
このように、for文を入れ子にすることで、二重ループも実現でき、複雑な処理や表形式のデータ表示などに活用できます。日常の繰り返し作業をプログラムの中で表現するために、for文はまさに「自動化の基本」といえるでしょう。
また、条件をうまく設定しないと無限ループに陥ることもあるため、ループがいつ終わるかを明確に意識する習慣も重要です。変数の初期値や終了条件、増加量を丁寧に設計することで、安全で効率的なプログラムが作れるようになります。
for文は単なる繰り返しだけでなく、if文との組み合わせによって、条件ごとの処理の分岐も実現できるため、実用性の高い機能のひとつです。たとえば、奇数と偶数の判定や、特定の数値だけを処理するなど、柔軟な対応が可能になります。
最後に、繰り返し処理を理解することは、プログラミングの基礎力をつけるうえで非常に大切です。for文を使いこなせるようになることで、C#の学習がさらにスムーズに進み、自分のアイデアを形にする力が高まります。
生徒
「for文って最初は難しそうだったけど、やってみたら案外シンプルですね!同じ処理を何度も書かずに済むのが便利です。」
先生
「その通りです。C#では繰り返し処理をきれいにまとめることができるので、効率的なコードが書けるようになりますよ。」
生徒
「九九の表もfor文を2つ重ねるだけで作れるなんて驚きました!ちょっと感動しました!」
先生
「そうですね、二重ループを使えば表形式のデータも簡単に扱えますし、いろんなアイデアを試すことができますよ。」
生徒
「次はfor文と配列を組み合わせて、いろんな情報をまとめて処理してみたくなりました!」
先生
「それはいい考えですね。繰り返しの考え方がわかれば、配列やリスト、条件分岐との組み合わせでさらに発展的なプログラムが作れますよ。」