りな塾#14 ループ処理(FOR文)
さて、今回はプログラムの肝ともいえるループ処理について学んでいきましょう!ループとは、つまり「繰り返し」のことです。なんどもなんども同等の処理をずっと繰り返しさせることができます。プログラムの基本構造は前回やった条件とこのループの組み合わせによって成り立っています。条件文とループ文が理解できるとプログラミングの基礎構造が理解できると思いますので、しっかり学んでいきましょう!
プログラミングでループ(繰り返し)処理をするのに使われるのは、FOR文という構文です。カッコ内の条件にあう期間はという意味で、FOR〜です。ちょっと英語的な表現なので、ピンとこないかもしれません。
まずは、FOR文の構造をみてみましょう。
for( ①初期処理 ; ②条件 ; ③ループ毎の後処理 ){
//ループさせたい処理
}
FOR文の()内は3つのパートからなっています。
①ここに、ループが開始される前に一度だけ実行される処理を書くことができます。
②条件式が入ります。IFの時と同じです。この条件が正である限りループが繰り返されます。この条件に合致しなくなったタイミングでループが止まります。
③ループ毎に毎回実行される後処理を書くことができます。注:①は一度だけ実行されますが、③は毎回、10回ループされる処理であれば10回実行されます。
と、書くととても難しいように感じてしまいますが、たいてい使い方はほぼこのようなフォーマットになることが多いです。
実際の使用例
for( i = 0; i < 10; i++){
console.log( i );
}
順番に見ていきましょう。
◆ ループ前
まず、ループが始まる前に、① i という変数(変数は何でもいいのですが、FOR文では習慣的に i という変数名が使われることが多い。たぶん、index の意。)に、0が代入されます。
◆ ループ1回目
②条件がチェックされます。この条件が合致すればループが開始されます
条件に合致するので、console.log( i ); が実行され実行ログに 0 と表示されます。
1回目のループの終わりに、③ i++ が実行され、iに1がプラス(i == 1 になる)されます。
◆ ループ2回目
あらためて、②条件がチェックされます。iには1が代入されているので条件に合致します。
条件に合致するので、console.log( i );が実行され、実行ログに 1 と表示されます。
ループ後に、③ i++ が実行され、iに1がプラス(i == 2 になる)されます。
◆ ループ3回目〜
このように条件が合致するまで、おんなじ処理がずっと繰り返されます。
◆ ループ11回目
②条件がチェックされます。iには10が代入されいるので(i < 10)の条件に合致しません。
条件に合致しないので、処理を実行せずにループから抜けます。
実行ログの結果は以下のようになるはずです。※ i → 0 〜 9 まで合計10回繰り返し処理が実行されます。
実行ログ
0
1
2
3
4
5
6
7
8
9
つまり、ちょっとおおざっぱな言い方をすれば、②条件のところを変えることで、何回ループさせたいかが決まるわけです。
5回ループさせたければ、for( i = 0; i < 5; i++) と書けばよいわけです。iの値が0〜4までの5回ループが回ります。
余談ですが、index の値を 1から始めたいという場合もあると思いますが、そのようなときは、初期値をi=1にして、for( i = 1; i <= 5; i++) の様にしても同様にループは5回処理されます。iの値が1〜5までの5回ループが回ります。
//0〜4まで
for( i = 0; i < 5; i++){
console.log(i);
}
// 1〜5まで
for( i = 1; i <= 5; i++){
console.log(i);
}
どちらも5回ループが回ることには変わりありませんが、indexの値のもたせ方が変わります。最初はちょっと慣れが必要かもしれませんが、①初期値、②条件、③ループ毎の処理 と段階を追って見ていけば難しくはありませんね。
今日のクイズ
ループを使って、1から10までの足し算を行ってください。
1 + 2 + 3 + 4 + 5 + ... 10 = 55
実行ログに55と表示されればOKです。
この記事が気に入ったらサポートをしてみませんか?