前回は、繰り返し構文のfor文をやりました。今回は、同じ"繰り返し"で、while文を説明します。

for文はカウントしながら繰り返す時によく使いますが、while文はある条件である限り繰り返す時に使用することが多いです。条件が終わるまで永久に繰り返すことができるので、無限ループに陥ることがり、プログラムが終わらない状態を作ることが可能です(>_<)(プログラムを強制終了させないと終われない)

繰り返す条件が正しいかしっかりチェック(テスト)を行うことは重要です。

最初に条件を書くwhile文

while文の繰り返し条件を書く場所は、最初と後いずれかに書くことができます。では、最初に書くパターンをお見せします。

C#

public class loop2{
    public static void Main(){
        int i=1;
        while (i<=5){
            System.Console.WriteLine(i.ToString());
            i++;
        }
        System.Console.WriteLine("プログラム終了!! iは" + i.ToString() + "でした。");
    }
}

結果

1
2
3
4
5
プログラム終了!! iは6でした。
for文で説明した時と同じようなプログラムです。whileの繰り返し条件部分「iが5以下なら繰り返す」と記述しています。そして、i++でiをインクリメントしています。while文には変数宣言と更新を書くところがないので、プログラム中に変数を更新するなどの対応が必要となります。インクリメントしてから最後にiを出力しているので、終了にはiが6になっています。

変数iに1~5以外の数値を入れて実行してみると…

iに10を入れた結果

プログラム終了!! iは10でした。
while文の中の処理にプログラムが入らず、処理が終わりました。

whileから抜けるには

ループから抜け出す方法を説明します。 switch文でも使いましたが、breakを使います。

C#

public class loop2{
    public static void Main(){
        int i=1;
        while (true){
            System.Console.WriteLine(i.ToString());
            if (i==3) break;
            i++;
        }
        System.Console.WriteLine("プログラム終了!! iは" + i.ToString() + "でした。");
    }
}

結果

1
2
3
プログラム終了!! iは3でした。
繰り返し条件のところにtrue(真)を書いています。while文の条件はtrueの限り続けます。これぞ"無限ループ"です( ̄ー ̄)ニヤリッ
そして、しっかりbreakで抜けています。
※ 因みにtrue(真)の反対は、false(偽)です。

あとに条件を書くwhile文

お題の通り、後に繰り返し条件を書きます。繰り返し先頭にはDoを書きます。このwhile文の用途は、必ず1回はwhile文の処理に入ってほしいときに使用します。

C#

public class loop2{
    public static void Main(){
        int i=3;
        do{
            System.Console.WriteLine("必ず通る。" + i.ToString() + "回目");
            i++;
        }while (i<=5);
    }
}

結果

必ず通る。3回目
必ず通る。4回目
必ず通る。5回目

iが6以上であってもwhile内の処理に必ず入ってから条件比較されます。

サンプルソースコード以外にも、for文やif文を複数使ってプログラムの動きを肌で感じてください。作って動かす(試す)のがプログラミングする上で一番の覚え方です。

次は、配列でーす。
スポンサードリンク