制御構文 (3/6)
作成:2010-03-31 21:06
更新:2010-05-11 17:00
更新:2010-05-11 17:00
■条件で繰り返す「while」
続いて、「繰り返し」の構文についてです。繰り返しにはいくつかの種類がありますが、もっともシンプルなのは、条件をチェックして繰り返す「while」でしょう。これには2通りの書き方があります。(下のリスト部分を参照)
どちらも、whileの後に()があり、そこに条件となる値や変数、式などを用意します。そして、その値が正しい(真偽値のtrueである)間、その後の処理を繰り返します。値が正しくなくなる(falseになる)と、繰り返しを抜けて次へ進みます。
2つの書き方の違いは、「いつ、条件をチェックするか」です。最初にチェックする書き方と、最後にチェックする書き方があるわけです。両者の違いは、
・最初にチェックする書き方では、繰り返しに入る前にチェックをしますから、最初から条件がfalseだった場合は、繰り返し部分を全く実行せずに次へ進んでしまうこともあります。
・逆に最後にチェックする書き方だと、まず繰り返し部分を実行してから条件をチェックしますから、最初から条件がfalseだったとしても、必ず1度は処理を実行することになります。
――このようになります。まぁ、一般的には「最初にチェックする」繰り返しが基本と考えて間違いないでしょう。「最後にチェックする」書き方は、特別な理由がある時だけ使う、と考えましょう。
下のリスト部分に掲載しているのは、変数Nの値が素数かどうかをチェックするスクリプトです。素数というのは、1とその数自身以外の整数で割ることのできない値ですね。これは、実際に2~その数未満のすべての整数で割ってみればわかります。割った余りがゼロになることが1度でもあれば、それは素数じゃないということです。
ここでは、numの値を2から順に増やしながら繰り返しを実行しています。条件部分は、while(num < N)というようになっていますね。つまり、numの値が変数Nより小さい間、繰り返しを続けている、ということになります。
numの値は、繰り返しの最後で1増やしていますが、これは「num++;」というように書かれていますね。この「++」というのは「インクリメント演算子」というもので、変数の値を1増やす働きをします。同様に「--」という演算子(デクリメント演算子)というものもあって、これは変数の値を1減らします。プログラミングでは、「1増やす」「1減らす」という処理はよく使いますので、ここであわせて覚えておきましょう。
どちらも、whileの後に()があり、そこに条件となる値や変数、式などを用意します。そして、その値が正しい(真偽値のtrueである)間、その後の処理を繰り返します。値が正しくなくなる(falseになる)と、繰り返しを抜けて次へ進みます。
2つの書き方の違いは、「いつ、条件をチェックするか」です。最初にチェックする書き方と、最後にチェックする書き方があるわけです。両者の違いは、
・最初にチェックする書き方では、繰り返しに入る前にチェックをしますから、最初から条件がfalseだった場合は、繰り返し部分を全く実行せずに次へ進んでしまうこともあります。
・逆に最後にチェックする書き方だと、まず繰り返し部分を実行してから条件をチェックしますから、最初から条件がfalseだったとしても、必ず1度は処理を実行することになります。
――このようになります。まぁ、一般的には「最初にチェックする」繰り返しが基本と考えて間違いないでしょう。「最後にチェックする」書き方は、特別な理由がある時だけ使う、と考えましょう。
○利用例○
下のリスト部分に掲載しているのは、変数Nの値が素数かどうかをチェックするスクリプトです。素数というのは、1とその数自身以外の整数で割ることのできない値ですね。これは、実際に2~その数未満のすべての整数で割ってみればわかります。割った余りがゼロになることが1度でもあれば、それは素数じゃないということです。
ここでは、numの値を2から順に増やしながら繰り返しを実行しています。条件部分は、while(num < N)というようになっていますね。つまり、numの値が変数Nより小さい間、繰り返しを続けている、ということになります。
numの値は、繰り返しの最後で1増やしていますが、これは「num++;」というように書かれていますね。この「++」というのは「インクリメント演算子」というもので、変数の値を1増やす働きをします。同様に「--」という演算子(デクリメント演算子)というものもあって、これは変数の値を1減らします。プログラミングでは、「1増やす」「1減らす」という処理はよく使いますので、ここであわせて覚えておきましょう。
(by. SYODA-Tuyano.)
※プログラムリストが表示されない場合
AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。
●プログラム・リスト●
・while文の基本形(1) while ( 条件 ) ……実行する処理…… ・while文の基本形(2) do ……実行する処理…… while ( 条件 ); ※サンプルスクリプト <html> <head> <script type="text/javascript"> <!-- var N = 887; var num =2; var result = true; while(num < N){ if (N % num == 0){ result = false; break; } num ++; } if (result) alert(N + "は、素数です。"); else alert(N + "は、素数じゃないです。"); //--> </script> </head> <body> <H1>TEST.</H1> </body> </html>
※関連コンテンツ
「初心者のためのJavaScriptプログラミング入門」に戻る