【初心者向け】プログラミングのwhile文についてC#で解説

【初心者向け】プログラミングのwhile文についてC#で解説

プログラミングの繰り返し処理While文について解説します。

このような方におすすめ

  • While文がどのようなものか知りたい
  • While文の使用例を知りたい
  • C#のWhile文の使い方を知りたい
目次

while文の概要

while文とは、

ある一定の条件が成り立っているうちは繰り返し処理をする

です。

for文とは違い、ずっと条件が成り立っていると

無限ループして処理が終了しない

という危険があるので使用するときは注意が必要です。

whileとは少し違うdo~while文

do~whileとは、

条件が異なっていても必ず1回は処理をする

です。

処理から出たい場合はbreakを使う

while処理中にループから抜け出したい場合はbreakを使うといいです。

breakは強制的にループから出ることができるので、

この条件の時は例外でループを抜け出したい!

というときに便利です。

while文の流れとは?

こちらフローチャートで流れを説明します。

whileのフローチャート

条件一致の場合はこのようにループします。

こちらがdo~whileのフローチャートです。

do~while

条件を判定する前に処理があるので必ず1回は処理をします。

C#を使ったwhile文の例

では実際にwhileを使った例でソースコードの解説をします。

例:2に対して2を掛けていって50を超えた場合に何回2を掛けたか調べる
1回目:2*2、2回目:4*2、3回目:8*2…

以下がコードになります。

        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と比較します。

例:初期値が50のものに対して50より小さいときは+5をするプログラム

普通に考えれば一度も処理をせずに終わると思いますが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となりました。

whileの結果

では続いて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となりました。

do~whileの

同じ条件でもwhileとdo~whileでは結果が違うことが分かりました。

その時その時で使い分けると便利です。

まとめ【C#でのwhile文】

  • whileは繰り返しで便利だが無限ループに注意
  • 強制的にループを抜ける場合breakを活用
  • whileとdo~whileでは条件次第で結果が変わる

現場などではwhileを使う機会があります。

whileは便利な反面、プログラムが永遠にループしてしまうというバグの原因となる可能性もあるため気を付けて使いましょう。

私(@detectivepgmer)は【初心者向け】の記事を書いていますのでこれからも参考にしていただけるとありがたいです。

最後まで読んでいただきありがとうございました。

よかったらシェアしてね!

この記事を書いた人

・文系大卒からプログラマーとしてIT企業に就職!
・就活ではIT企業20社受けて19社不採用。残りの1つから内定をいただきなんとかエンジニアデビュー!
・現在はIT企業退職しフリーランスエンジニアとして活動中。
・未経験からエンジニアになる難しさを知っているので、これからエンジニアを目指す方のために未経験からエンジニアになるための方法を発信中

コメント

コメントする

目次
閉じる