指定回数繰り返す(for文)
重要なお知らせ
本ページには重要な修正を行っています。お詫びして訂正いたします。
同じ処理を何回もしたいとき、処理をコピーしたりしていたらキリがありません。しかも、配列のすべての項目に何かしらの操作をしたいとなると、項目の個数が定まらず、処理のコピーでは対応できなくなってしまいます。
そこで、繰り返し処理を行うfor文を学びましょう!
for (/* 1 */; /* 2 */; /* 3 */) {
}
for文の動作条件は、if文と同様 () の中に記述します。for文は動作条件を3つ指定する必要があり、それらは ; で区切って書きます。
各動作条件は以下の通り
- ループカウント用変数の定義
- ループを抜け出す基準となる条件判定式
- 1度ループを経るごとに、ループカウント用変数に行う処理
for文を読んでみよう!
具体的に書くとこうなります。 配列の振り返りはこちら
let array = [2, 4, 1, 5];
for (let count = 0; count < array.length; count++) {
}
このfor文を説明すると、
- ループカウント用変数
countを定義、初期値として0を代入 - ループの初めに
countが配列の変数arrayの項数より少ない間はループを継続 - 1度ループを経るごとに、ループカウント用変数は1ずつ大きくする
つまり、配列の項数と同じだけ、同じ処理を繰り返します。
このとき、配列の各項に何かしらの処理を加えたいと思ったら、どのように書けばいいかわかりますか?
答え(クリックで展開)
正解は、
let array = [2, 4, 1, 5];
for (let count = 0; count < array.length; count++) {
let element = array[count];
// 【例】各項をそれぞれ3倍するなら…
array[count] = element * 3;
}
// 3倍した後のarrayは、こうなります
// [6, 24, 3, 15]
【練習】for文を使ってみよう!
lbase.htmlの所定の場所に、以下のような動作をするプログラムを書きましょう。
- 1から100まで (100を含む) の数字において、2の倍数だけを出力してください。
- 値の出力には
println();を使用してください。詳しい使い方はこちら。
ファイル lbase.html をダウンロード
【ヒント】nの倍数かどうかを判定する方法(クリックで展開)
nの倍数ということは、その数をnで割ったときにあまりが出ないとも言えますね。
2, 4, 6, 8 … , 100 となっていれば大成功です!