メインコンテンツまでスキップ

指定回数繰り返す(for文)

重要なお知らせ

本ページには重要な修正を行っています。お詫びして訂正いたします。

同じ処理を何回もしたいとき、処理をコピーしたりしていたらキリがありません。しかも、配列のすべての項目に何かしらの操作をしたいとなると、項目の個数が定まらず、処理のコピーでは対応できなくなってしまいます。

そこで、繰り返し処理を行うfor文を学びましょう!

for (/* 1 */; /* 2 */; /* 3 */) {

}

for文の動作条件は、if文と同様 () の中に記述します。for文は動作条件を3つ指定する必要があり、それらは ; で区切って書きます。

各動作条件は以下の通り

  1. ループカウント用変数の定義
  2. ループを抜け出す基準となる条件判定式
  3. 1度ループを経るごとに、ループカウント用変数に行う処理

for文を読んでみよう!

具体的に書くとこうなります。 配列の振り返りはこちら

let array = [2, 4, 1, 5];

for (let count = 0; count < array.length; count++) {

}

このfor文を説明すると、

  1. ループカウント用変数 count を定義、初期値として0を代入
  2. ループの初めに count が配列の変数 array の項数より少ない間はループを継続
  3. 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 となっていれば大成功です!