この章ではfor文の入れ子について学習します。
入れ子とはfor文の中にfor文がある構造です。
〇 iに1を代入します。
〇「i<=3」の条件式を判定します。
ここがTRUEであるならば、
1掛ける1=1
1掛ける2=2
1掛ける3=3
と出力されます。
つまり、外側のfor文が1周するごとに中のfor文は3周します。
〇次にi++に戻りiに1を足します。
ここでiは2になります。
〇そして条件式の判定に入りますが、まだiは2なのでTRUEということになり、
2掛ける1=2
2掛ける2=4
2掛ける3=6
と出力されます。
〇次にi++に戻りiに1を足します。
ここでiは3になります。
〇そして条件式の判定に入りますが、まだiは3なので,TRUEということになり、
3掛ける1=3
3掛ける2=6
3掛ける3=9
と出力されます。
〇次にi++に戻りiに1を足します。
ここでiは4になります。
〇そして条件式の判定に入りますが、iは4で3以下ではないのでFALSEとなり、ここでループは終わりになります。
次はfor文を使って配列のデータを取り出す方法について説明します。
初めにfor文を使わない例をみてみましょう。
この例の要素数は3ですので、その要素数の分だけfor文でデータを取り出します。
goukei +=test[i];を書き換えると
for文の流れは以下の通りです。
1周目はtest[i]のiには0が入るので、
2周目はtest[i]のiには1が入るので、
3周目はtest[i]のiには2が入るので、
ここで、注意してほしいことがあります。
goukei変数はfor文の外で宣言していますが、i変数はfor文の中で宣言しています。
この違いはブロック内で宣言した変数はブロック内でしか使うことは出来ませんが、外で宣言した変数はfor文の外でも使用することが出来ます。
つまり、以下のようにブロックの中で宣言しているiのような変数は次の例のようにfor文の外で出力することは出来ません。
次の例は先ほどのfor文の例を書き替えています。
1 2 12 3 4 23 5 6 62 7 8 83
2次元配列のデータを取り出すためにはfor文の入れ子を使用します。
次の例は2次元配列のすべての値の足し算をしています。
次はある配列を別の配列にコピーする方法について説明します。