ある条件式が満たされている間、処理を繰り返し行いたい!
Java のループステートメントのひとつで、指定された条件式が真の間は繰り返し対象のコードブロックを繰り返し実行します。
条件式は真 (true) または偽 (false) を返す式であれば、どんな式でも構いません。
また、条件式の判定は処理の最初に行われます。これを「前判定」といいます。そのため、最初から条件式が偽の場合は、繰り返し対象のコードブロックは一度も実行されません。
while( 条件式 ) { コードブロック; }
1 〜 10 の数字を足す処理を考えてみましょう。
int i = 1;
int total = 0;
System.out.println("start");
while ( i <= 10) {
total = total + i;
System.out.println("i = " + i + " , total = " + total);
i = i + 1;
}
System.out.println("end");
上記の処理結果は以下のようになります。
start
i = 1 , total = 1
i = 2 , total = 3
i = 3 , total = 6
i = 4 , total = 10
i = 5 , total = 15
i = 6 , total = 21
i = 7 , total = 28
i = 8 , total = 36
i = 9 , total = 45
i = 10 , total = 55
end
条件式が最初から偽の場合
int i = 0;
int count = 0;
System.out.println("start");
while ( i >= 1) {
count += i;
System.out.println("i = " + i + " , count = " + count);
i--;
}
System.out.println("end");
上記の処理結果は以下のようになります。
start end
メソッドを条件式とすることで、複雑な判定を行なうことも出来ます。
public void test() { while (this.judge()) { 繰り返し処理 } } public boolean judge(){ // 様々な処理 if (判定式){ return true; }else{ return false; } }