While文
今回はWhile文について詳しく説明したいと思います。
While文とは、ある条件が満たされている間、繰り返し処理を行う制御文の一種です。
C#では、次のような書式でWhile文を記述します。
構文
while (条件式)
{
// 繰り返し実行する処理
}
条件式は真偽値(trueまたはfalse)を返す式で、trueの場合は繰り返し処理が実行され、falseの場合は繰り返し処理が終了します。
繰り返し処理は、波括弧{}で囲まれたブロック内に記述します。
ブロック内には複数の文を記述できますが、一つの文しかない場合は波括弧を省略できます。
for文の場合
例えば、変数iの値が10未満である間、iの値を1ずつ増やして表示する処理を繰り返します。
さて、前回、For文を勉強しましたFor文では次のような処理になります。
using System; namespace ConsoleApp1 { internal class Program { static void Main(string[] args) { // For文で1から10までの数字を順番に表示する for (int i = 1; i <= 10; i++) { Console.WriteLine(i); } } } }
While文の場合
これをWhile文で処理すると下記のようになります。
using System; namespace ConsoleApp1 { internal class Program { static void Main(string[] args) { int i = 1; //カウンタ変数を初期化 while (i <= 10) //カウンタ変数が10以下の間繰り返す { Console.WriteLine(i); //カウンタ変数を表示 i++; //カウンタ変数を1増やす } } } }
このコードは、while文というキーワードを使っています。
while文は、条件式が真である間、中括弧{}で囲まれたブロック内の処理を繰り返します。
上の例では、カウンタ変数iが10以下である間、iを表示して1増やすという処理を繰り返しています。
このように、while文を使うと、同じ処理を簡潔に書くことができます。
while文の注意点
while文の注意点としては、条件式が常に真である場合には無限ループになってしまうことです。例えば、以下のコードは無限ループになります。
using System; namespace ConsoleApp1 { internal class Program { static void Main(string[] args) { int i = 1; while (true) //条件式が常に真 { Console.WriteLine(i); i++; } } } }
このコードは、条件式がtrueという値であり、これは常に真です。そのため、while文のブロック内の処理が永遠に繰り返されます。これは意図しない動作であり、プログラムが停止しなくなる可能性があります。無限ループを避けるためには、条件式がいずれ偽になるように設定するか、break文などでループを抜けるようにする必要があります。
あとがき
以上が、while文の解説でした。while文は、ループの基本的な構文であり、様々な場面で使われます。ぜひ練習してみてください。