for文の使い方を知りたい。。。
この記事では、C# の for 文の使い方をサンプルコードを交えて分かりやすく解説ています。
C# でプログラミングする際、同じような処理を何度も書いてたりしませんか?同じコードを何度も書いてしまうと、変更が発生した時に修正が大変ですし、ミスの原因になりかねません。
for 文を使うことで、指定した回数だけ同じような処理を繰り返すことができます。
この記事は for 文を使う方法などを紹介していますので、ぜひ参考にしてみて下さい。
オススメの参考書
C#の使い方が丁寧に解説しており、「基礎からしっかりと学びたい」という初心者の方にオススメの一冊です。サンプルコードも記載してあり、各章の最後に復習問題があるので理解度を確認しながら読み進めることができます。新しい C# のバージョンにも対応している書籍です。
for文とは
C# の for 文は、同じような処理を複数回繰り返す際に使います。
for 文は指定した回数だけ繰り返し処理を行うのに適しています。初期化式と条件式、更新式を適切に設定することで、for 文で繰り返し処理を実行できます。
フローチャートで表すと次のようになります。
for文の基本構文
for 文は次のような構文になっています。
for (①値を初期化; ②条件式; ③値を更新)
{
繰り返し処理
}
for 文のポイントは次の通りです。
- 指定回数だけ繰り返し処理を行う際に使用します。
- ①の初期化は、最初の1回だけ実行されます。
- for 文で使用する変数をカウンター変数またはループ変数といいます。変数名は
i
やj
がよく使用されます。 - ②の条件式で for 文の繰り返し処理を制御します。条件式が true の間は処理を繰り返します。
- 条件式が false になると、for 文を抜けます。
- ③の値を更新では、カウンター変数(ループ変数)の値を増加または減少させます。
具体的な例を見ていきましょう。
下記のコードは「i
が3以下の間は、i
の値を1ずつ増やす」というプログラムです。
for (int i = 0; i < 2; i++) // ①
{
Console.WriteLine($"値:{i}"); // ②
}
処理の流れは次のようになります。
- 変数
i
に0が代入される。・・・① - コンソールに
i
の値が出力される。・・・② i
の値を+1する。(i
の値は1になる)・・・①i < 3
が評価される。i
は1なので true になる。・・・①- コンソールに
i
の値が出力される。・・・② i
の値を+1する。(i
の値は2になる)・・・①i < 3
が評価される。i
は2なので true になる。・・・①- コンソールに
i
の値が出力される。・・・② i
の値を+1する。(i
の値は3になる)・・・①i < 3
が評価される。i
は3なので false になる。・・・①- for 文を抜ける。
実行結果は次のようになります。
値:0
値:1
値:2
繰り返し処理を制御する
繰り返し処理の途中で for 文を終了、または処理をスキップする場合に使えるのが、 break 文や continue 文を使います。
- break 文:繰り返し処理を終了する
- continue 文:繰り返し処理の途中でスキップして、次の繰り返し処理へ進める
具体的な例を見ていきましょう。
下記のコードは「i
が10以下の間は、i
の値を1ずつ増やしてコンソールに出力する。i
の値が3の場合はコンソールに出力はしない。i
の値が6の場合は for 文を抜ける」というプログラムです。
for (int i = 1; i < 10; i++)
{
if (i == 3)
{
continue; // iが3の場合は以降の処理をスキップする
}
if (i == 6)
{
break; // iが6の場合は繰り返し処理を終了する
}
Console.WriteLine($"繰り返した数:{i}");
}
5行目はi
の値が3の場合、continue 文によって以降の処理をスキップしています。
10行目はi
の値が6の場合、break 文によって繰り返し処理を終了しています。
結果は次のようになります。
繰り返した数:1
繰り返した数:2
繰り返した数:4
繰り返した数:5
for文のサンプルコード
for 文の構文を使って、プログラムを確認してみましょう。
サンプルコード①
// 配列の要素を取得
var array = new string[] { "りんご", "ごりら", "ラッパ" };
for (int i = 0; i < array.Length; i++)
{
Console.WriteLine($"配列の要素:{array[i]}");
}
// リストの要素を取得
var list = array.ToList();
for (int i = 0; i < list.Count; i++)
{
Console.WriteLine($"リストの要素:{list[i]}");
}
このサンプルは「配列 / リストの要素を取得する」サンプルです。
4行目i
が配列の長さ以下なら繰り返し処理を実行する条件になっています。6行目は、インデックス番号の添え字を使って配列の要素を取得しています。
10行目i
がリストの要素数以下なら繰り返し処理を実行する条件になっています。12行目は、インデックス番号の添え字を使ってリストの要素を取得しています。
上記のコードを実行すると、次のような結果を得られます。
配列の要素:りんご
配列の要素:ごりら
配列の要素:ラッパ
リストの要素:りんご
リストの要素:ごりら
リストの要素:ラッパ
サンプルコード②
for (int i = 0; i < 10; i = i + 2)
{
Console.WriteLine($"値:{i}");
}
このサンプルは「変数の値を更新する際に2つずつカウントアップする」サンプルです。
上記のコードを実行すると、次のような結果を得られます。
値:0
値:2
値:4
値:6
値:8
サンプルコード③
for (int i = 5; i > 0; i--)
{
Console.WriteLine($"値:{i}");
}
このサンプルは「変数の値を更新する際にカウントダウンする」サンプルです。
上記のコードを実行すると、次のような結果を得られます。
値:5
値:4
値:3
値:2
値:1
サンプルコード④
for (int i = 1; i <= 2; i++)
{
for (int j = 1; j <= 3; j++)
{
int k = i + j;
Console.Write($"{i}+{j}={k} ");
}
Console.WriteLine();
}
このサンプルは「for 文の中に更に for 文を記述する二重ループする」サンプルです。
外側の変数i
の for 文が、内側の変数j
の for 文を繰り返しています。それぞれ、3回×2回で、6回の繰り返し処理を実行します。
上記のコードを実行すると、次のような結果を得られます。
1+1=2 1+2=3 1+3=4
2+1=3 2+2=4 2+3=5
まとめ
この記事では、C# の for 文の使い方とサンプルコードをいつくか紹介しました。
- for 文は条件式が true の間は、繰り返し処理を行う。
- 1回の繰り返し処理毎に変数の値が更新される。
- break 文や continue 文を使って繰り返し処理の制御が可能である。
for 文は繰り返し回数を指定したい処理に適しています。
繰り返し処理する回数が決まっておらず、条件によりループする回数を変えたい場合はwhile文を活用しましょう。
この機会にしっかりとマスターしておくことをオススメします。
以上、最後まで読んで頂きありがとうございました。