while 繰り返し - 萌えJava超入門
第九章 制御文

while文(繰り返し)

条件が一致する間、処理を繰り返す命令です。

 while( boolean ){
   //処理;
 }
ついに繰り返しの制御文が出てきた。
パソコンが演算能力をもっとも発揮するのは、
複雑な作業の繰り返しだ。
目次


1.書式

書式
  while( 条件式 ){
      //条件式が true のときの処理;
  }

条件式の部分は、答えが boolean であればなんでも構いません。
関係演算子を用いた式が一般的でしょう。
条件式が true のときは、処理が実行されます。
条件式が false になると、whileブロックを抜けます。
if文と、とても良く似た構造ですね。


2.使い方

//Sample38_21.java
class Sample38_21{
    public static void main(String[] args){
        int x = 0;
        while( x < 5 ){
            System.out.println(x + " は5よりも小さいです。");
            x++;//xの値を1増やしています。
        }
        System.out.println("おしまい。");
    }
}

コマンドライン
>javac Sample38_21.java
>java Sample38_21
0 は5よりも小さいです。
1 は5よりも小さいです。
2 は5よりも小さいです。
3 は5よりも小さいです。
4 は5よりも小さいです。
おしまい。

Sample38_21.java の解説
  1. whileブロックの中に入ると、まず条件が一致しているか確かめます。
  2. 一致している場合は、whileブロックの中を実行します。
    最初はx==0 なので、(x < 5)==true となり、 条件が一致していると判定されます。
  3. whileブロックの中を実行して終端まで来ると、whileブロックの先頭まで戻ります。
  4. 1と同様に、条件が一致しているか確かめます。
  5. 今度は x==1 になっています。
    2と同様に (x < 5)==true となり、条件が一致していると判定されます。
         .
         .
         .
    この調子で、xを1ずつ増やしながら (手順1~3)を繰り返します。
  6. whileブロックの先頭まで戻ったときに x==5 になっていると、 (x < 5)==false となり、whileブロックを飛ばします。
  7. whileブロックの下から処理を続けます。



3.無限ループとコマンドラインの強制停止


Sample38_21のコードの7行目に、「x++;」という記述があります。
これは、x に (x+1) を代入して、xを1増やしています。
これを忘れると、xは、何度ループしても「0」のままになってしまうので、 いつまでたっても whileブロック を抜けられません。
無限ループといわれる状態です。
こんな時は慌てずに、[Ctrl]+[C]をタイプしてください。
コマンドラインの作業を停止して、待ち受け状態に戻ります。
(ターミナル でも コマンドプロンプト でも同じです。)

コマンドラインの強制停止
[Ctrl]+[C]

コマンドプロンプトが
返ってこなくなったら
コレっスよ。


4.百裂拳

以下のサンプルコードで、while文がいかに重要かをご理解いただけるでしょう。
//Sample38_22.java
class Sample38_22{
    public static void main(String[] args){
        int x=0;
        System.out.println("\tお~!\n\tあ");
        while(x<15){
            x++;
            System.out.println("\tた");
        }
    System.out.println("\tお~あたぁっ!");
    }
}

コマンドライン
>javac Sample38_22.java
>java Sample38_22
        お~!
        あ
        た
        た
        た
        た
        た
        た
        た
        た
        た
        た
        た
        た
        た
        た
        た
        お~あたぁっ!

ホあたぁっ!



そーゆーキャラ
だったんスか。


5.do while


こんな書き方もあります。
書式 do while()
    do{
        処理; //条件式が true のとき
    }while( 条件式 );

条件の評価が一番下にあるので、必ず1回は実行するwhile文です。 参考程度に紹介しました。



お前はもう死んでいる。


死んでない死んでない

あべし。




© 2019 awasekagami