反復文の一つなwhile文について学習しましよう。
反復文ではバリューが真であるかぎりずっと反復をします。
例えば、 1を200回スクリンに出力する時に1を直接200回タイピングしなく、反復文を使って簡単にできます。
while(条件式){ 条件が真の時のコード }
では、1から2まで出力してみましょう。
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>everdevel - JavaScript</title> <script> a = 1; while(a <= 10){ document.write(a); a++; } </script> </head> <body> </body> </html>
結果
上のソースを見ると変数aのバリューは1を代入し、条件では変数aが10より小さいか等しい条件があります。そして変数aのバリューを++を利用し1ずつ増やします。
上のソースでa++がなかったら変数aのバリューが10になれないんで、while文は永遠に作動します。つまり、無限ループになります。
次のソースは1から10までの合計を出力するソースです。
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>everdevel - JavaScript</title> <script> a = 1; sum = 0; while(a <= 10){ sum += a; document.write('累積合'+sum+"<br />"); a++; } </script> </head> <body> </body> </html>
結果
今度は、do ~ while文です。
上のwhile文では、条件式が真であると命令文を実行しました、do ~ while文はまず一回命令文を実行してから条件式が死んであると、命令文を実行します。
ではソースでみてみましょう。
a = 1; do{ document.write(a); } while(a==10)
上のソースを見ると変数aのバリューは1です。 条件式を見るとa==1です。 つまり、変数aのバリューが10と同じの時命令文を実行します。
しかし、条件式の a==10はa++がないから絶対に真になれないです。しかしdo~while文は一回は命令文を実行しますので、一回は実行します。
つまり、変数aのバリューを一回は実行してから条件が真か偽かを確認します。
では、テストしてみましょう。
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>everdevel - JavaScript</title> <script type="text/javascript"> a = 1; do{ document.write(a); a++; } while(a==10) </script> </head> <body> </body> </html>
結果
結果を見ると条件が偽ですがでも一回は実行するんで変数aのバリューな1が出力されます。
次はfor文です。
ご覧くださってありがとうございます。お問い合わせと間違い説明はある場合、下にあるコメントにお願いいたします。
//=$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']?>コメント 0個
並べ替え