while ループは、for ループに似ていて、ステートメント ブロックを繰り返し実行します。 ただし、while ループには組み込みのカウンター変数がなく、式も更新しません。 ステートメントやステートメント ブロックの繰り返し処理を制御する場合に、"あるコードを n 回実行する" というような単純な規則よりも複雑な指定をする必要があるときは、while ループを使用します。
while ループの使用
次のコードは、while ステートメントの使用例です。
var x = 1;
while (x < 100) {
print(x);
x *= 2;
}
このプログラムの出力は次のようになります。
1
2
4
8
16
32
64
注意
while ループには、明示的に組み込まれたカウンター変数がありません。このため、他の種類のループと比べ、無限ループに陥る可能性が高くなります。 さらに、while ループは、ループを制御する条件がいつどこで更新されるのかを見つけにくいため、条件が更新されないループを記述する可能性もあります。 このような理由から、while ループをデザインするときには注意が必要です。
JScrip には、while ループに似た do...while ループもあります。 do...while ループでは、条件がループの先頭ではなく終わりで評価されるため、ループが少なくとも 1 回は実行されます。 上のコード例は、次のように記述することもできます。
var x = 1;
do {
print(x);
x *= 2;
}
while (x < 100)
このプログラムの出力は、上の例の出力と同じです。