happy cat image

everdevel

coding

login
お知らせX
  • 現在、コメントだけのお知らせだけ表示します。
  • 表するコメントかログインしてください。

while文(反復文)

反復文の一つなwhile文について学習しましよう。

反復文ではバリューが真であるかぎりずっと反復をします。
例えば、 1を200回スクリンに出力する時に1を直接200回タイピングしなく、反復文を使って簡単にできます。

while文の使い方

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文です。

do ~ while文

上のwhile文では、条件式が真であると命令文を実行しました、do ~ while文はまず一回命令文を実行してから条件式が死んであると、命令文を実行します。

do ~ 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文です。


ご覧くださってありがとうございます。お問い合わせと間違い説明はある場合、下にあるコメントにお願いいたします。


    
    

講義に戻る。

コメント 0個

並べ替え