はじめに
今回はC#プログラミングで、特定の処理を繰り返したいときに必要な知識について解説していきます。
この記事の目標
- for文の構造(初期化式・条件式・変化式)と多重ループを理解する
- while文・do-while文の書き方と使い分けを理解する
- break・continueでループを制御する方法を理解する
for文について
for文は、繰り返し処理を行うためのメジャーな構文の1つで、以下のように記述します。
for(初期化式; 条件式; 変化式)
{
条件式がtrueの場合に処理が実行される
}
()内の式は書かなくても;があれば実行自体は可能です。
初期化式
ループに入る前に1度だけ初期化式に書かれた処理を行います。初期化式では型を用いて新しい変数を作成することもできますが、新しい変数はそのfor文の中でしか使えません。
条件式
if/elseの記事で解説したものと同じように書き、条件式がtrueである限り処理を繰り返します。条件式を書かない場合は常にtrueになり、処理が無限ループになります。
変化式
1ループが終了するごとに1度書かれた処理を行います。この処理後、条件式による判定が行われます。具体的には以下のように書きます。
int a = 0;
for(int i = 0; i < 3; i++) //初期化式で{}でのみ使う変数を作成、ループ終了ごとに変数に1を足し、3以上になると終了
{
a++; //この処理が3回実行される
}
//これ以降再び宣言しなければ変数iは使えない。
多重ループ
for文の中にfor文を入れてループを多重化することができます。
for(int i = 1; i <= 5; i++) //5回繰り返す
{
// 処理
for(int j = 0; j < i; j++) //i回繰り返す
{
// 処理
}
// 処理
}
while文について
while文もfor文と同じくメジャーなループ構文の1つで、以下のように記述します。
while(条件式) //条件式がtrueなら処理を繰り返す
{
// 処理
}
for文と違い変化式が無いため、条件式を満たさないための処理を書くか後述するbreakを書いてループを終わらせる必要があります。
int i = 0
while(i != 3) //iが3になればループ終了
{
// 処理
i++;
}
do-while文
ループの確認を処理後に行いたい場合はdoを用いて以下のように記述します。
do //ループするかの確認が無いため、1度目の処理は基本的に実行される
{
// 処理
} while(//条件式) //ここでループするか確認
breakとcontinueの使い方
for、while文中でbreakを使うと、条件式に関係なくループを終わらせることができます。
for(int i = 0; i < 100; i++)
{
// 処理
break;
// break後の処理は行わず、iの値に関係なくそのままループ終了
}
多重ループ内でbreakを使用すると、そのループのみがそこで終了します。
for(int i = 0; i < 10; i++)
{
// 処理
for(int j = 0; j < 5; j++)
{
//処理
break;
// このループのみここで終了
}
// ここの処理は実行され、次のループに入る
}
continueを用いると、処理を中断しつつそのまま次のループに入ることができます。
for(int i = 0; i < 10; i++)
{
// 処理
if(i == 5) continue
// iが5のときここの処理は行われず、次のループに入る
}
まとめ
今回はforとwhileを用いた基本的なループ構文と、breakとwhileを用いたループの中断方法について解説していきました。上手に使えば何度も処理を書く手間が省けて便利ですので、ぜひ覚えてください。
お疲れ様でした。