プログラミングの繰り返し処理While文について解説します。
このような方におすすめ
- While文がどのようなものか知りたい
- While文の使用例を知りたい
- C#のWhile文の使い方を知りたい
while文の概要
while文とは、
ある一定の条件が成り立っているうちは繰り返し処理をする
です。
for文とは違い、ずっと条件が成り立っていると
無限ループして処理が終了しない
という危険があるので使用するときは注意が必要です。
whileとは少し違うdo~while文
do~whileとは、
条件が異なっていても必ず1回は処理をする
です。
処理から出たい場合はbreakを使う
while処理中にループから抜け出したい場合はbreakを使うといいです。
breakは強制的にループから出ることができるので、
この条件の時は例外でループを抜け出したい!
というときに便利です。
while文の流れとは?
こちらフローチャートで流れを説明します。

条件一致の場合はこのようにループします。
こちらがdo~whileのフローチャートです。

条件を判定する前に処理があるので必ず1回は処理をします。
C#を使ったwhile文の例
では実際にwhileを使った例でソースコードの解説をします。
以下がコードになります。
static void Main(string[] args)
{
int couta = 0; // 何回2を掛けたかの計測用
int num = 2; // この変数に2を掛けていく
// 条件は50より小さい場合
while (num < 50)
{
// 2を掛ける
num = num * 2;
// カウントする
couta++;
}
Console.WriteLine(couta);
}
以下が結果です。

少し見にくいですが5を出力しています。
do~whileの例文
次はdo~whileの例文です。
違いがわかりやすいように通常のwhileと比較します。
普通に考えれば一度も処理をせずに終わると思いますがdo~whileは違います。
では違いを見ていきましょう。
static void Main(string[] args)
{
int couta = 0; // 何回2を掛けたかの計測用
int num = 50; // この変数に2を掛けていく
// 条件は50より小さい場合
while (num < 50)
{
// 5を足す
num = num + 5;
// カウントする
couta++;
}
Console.WriteLine(couta);
}
出力は0となりました。

では続いてdo~whileです。
static void Main(string[] args)
{
int couta = 0; // 何回2を掛けたかの計測用
int num = 50; // この変数に2を掛けていく
do
{
// 5を足す
num = num + 5;
// カウントする
couta++;
// 条件は50より小さい場合
} while (num < 50);
Console.WriteLine(couta);
}
出力は1となりました。

同じ条件でもwhileとdo~whileでは結果が違うことが分かりました。
その時その時で使い分けると便利です。
まとめ【C#でのwhile文】
- whileは繰り返しで便利だが無限ループに注意
- 強制的にループを抜ける場合breakを活用
- whileとdo~whileでは条件次第で結果が変わる
現場などではwhileを使う機会があります。
whileは便利な反面、プログラムが永遠にループしてしまうというバグの原因となる可能性もあるため気を付けて使いましょう。
私(@detectivepgmer)は【初心者向け】の記事を書いていますのでこれからも参考にしていただけるとありがたいです。
最後まで読んでいただきありがとうございました。
コメント