
C#における繰り返し処理について様々なパターンがあるので、紹介していきます。
for文は以前紹介したので、今回はwhile文の処理を見ていきましょう。
while文 使い方
while文の書き方は、このようになります。
条件を満たしてる間、繰り返し処理を行います。
while(条件文)
{
処理
}
それでは例を見てみましょう。
int a = 0;
while (a < 3)
{
Console.WriteLine(a);
a = a + 1;
}
結果
0
1
2
解説
1行目;変数aを宣言
3行目:aの値が3より小さい時はループする
5行目:aの値を出力
6行目:aの値をカウントアップする。
このように、aの値を1ずつ増やしていき、3より小さい間ループされるので、結果は、0,1,2となります。
a=3になったとき、条件を満たさなくなるのでループを終了します。
6行目のカウントアップを書き忘れると、無限ループになりますので、気を付けましょう!
while文は条件文をtrueにすることで無限にループさせることができます。
whileの条件を満たしている間は処理を永遠と繰り返します。
あまり使うことはないと思いますが、使用する時は気を付けてくださいね。
while(true)
{
Console.WriteLine("無限ループ");
}
continue 次ループへ
while文でもfor文と同じようにcontinueを使用することができます。
continueとは、次のループへ処理を飛ばすことができます。
int a = 0;
while (a < 3)
{
if (a == 1)
{
a = a + 1;
continue;
}
Console.WriteLine(a);
a = a + 1;
}
結果
0
2
解説
a = 1時に、continueの処理を行うようにしています。continueを通ると次のループに行きますので、結果に1が記載されていません。
break ループ終了
次にbreak処理を紹介します。
こちらもfor文の時に紹介しましたが、breakをすることでループ処理を強制終了することができます。
int a = 0;
while (a < 3)
{
if (a == 1)
{
break;
}
Console.WriteLine(a);
a = a + 1;
}
結果
0
解説
a = 1 の時にbreak処理を行うので、0のみが結果として表示されています。
do ~ while
最後にdo ~ while文を紹介していきます。
int a = 0;
do
{
Console.WriteLine(a);
a = a + 1;
}
while (a < 3);
結果
0
1
2
while文とほとんど同じなのですが、違うのはループの判定が最後に行われるので、必ず1回は処理を行う点です。
int a = 0;
do
{
Console.WriteLine(a);
a = a + 1;
}
while (a < 0);
結果
0
こちらは、a<0なのでもともと条件を満たしていませんが、最初の1回は必ず処理を行うため結果は0が表示されています。
まとめ
for文とwhile文には下記のような違いがあるので、状況によって使い分けてください。
for文は、繰り返しの回数がわかっている時に使います。
while文は、繰り返し回数がわかっていない時でも、条件で繰り返し処理を行うことができます。
この違いを理解しておき、状況に応じて使い分けていきましょう。