while文-回数が分からない場合の繰り返し文

HOME
更新日:2013.10.04
HOMEJavaScript入門 > while文

while文

前項では回数の分かっている場合の繰り返し文を説明しました。 しかし、いつも繰り返し回数が分かっている訳ではありません。 このページでは、繰り返し回数が分からない場合の処理について説明してみます。

while文-条件に合うまで繰り返す

繰り返し回数が分からない場合は、 ある一定の条件を指定し、その条件を満たしている間繰り返すという方法をとります。 例えば「1+2+3+…で幾つまで足すと合計が5桁になるか」と言う問題を解いてみましょう。

HTMLファイルを作り、body内に以下のように記入してみて下さい。

<script>

var num=0;    //連番を入れる変数
var gokei=0;  //連番を合計した数字を入れる変数


//gokeiが5桁(10000)より少ない間繰り返す

while ( gokei < 10000 ){
  num++;
  gokei = gokei + num;
}

//5桁に達した時点の数を書き出し

document.write(num);

</script>

サンプル(別窓)

サンプルを見てみると、141という答えが得られました。 実際に答えが合っているかfor文を使って確かめてみました。 ちゃんと合っています。

では上のソースについて詳しく見てみましょう。

while文の書き方

まずは2つの変数の宣言です。 numには連番を、gokeiにはnumを加えていった合計を代入していきます。

次にwhile文が登場します。 whileの後に括弧( )がありますが、その中に条件を記入します。 上記の場合は、gokeiが10000より少なければ、 中括弧内の処理を繰り返すことになります。 whileの書き方をまとめると、下のようになります。

while ( 繰り返しの条件 ) { 処理 }
条件を満たしている間、中括弧内の処理を繰り返します。

中括弧内の処理を見てみると、まず最初にnumの値に1加えています。 そしてgokeiに加えています。 この処理の順番をひっくり返すと、 numの値が1つ大きくなってしまうので失敗です。 どうしてそうなるかは考えてみて下さい。

最後に、5桁になった時点でのnumの値を書き出しています。


このようなwhile文は、ローン返済の計算をしたり、 ページ内のリンク数を調べたりといった色々なケースで活用することができます。 for文と共にしっかり覚えておきましょう。

次のページでは基礎編の最後として、 JavaScriptを外部ファイルに記入する方法を説明いたします。