最近JavaSilverを学習しているYuheiです。
問題を解いてたら、二重ループについて理解できない部分がありましたので、調べてみました。
結果は下記の通りです。
二重ループとは
別名多重ループとも言い、For文の中に更にFor文を入れて、2つのループにしている状態をいいます。
下記は、九九を表示するためのコードです。
public class KuKu {
public static void main(String args[]) {
for (int i = 1; i <= 9; i++) {
for (int j = 1; j <= 9; j++) {
System.out.print(i*j + " ");
}
System.out.println();
}
}
}
↑
これを実行すると、結果は下記のようになります。
1 2 3 4 5 6 7 8 9
2 4 6 8 10 12 14 16 18
3 6 9 12 15 18 21 24 27
4 8 12 16 20 24 28 32 36
5 10 15 20 25 30 35 40 45
6 12 18 24 30 36 42 48 54
7 14 21 28 35 42 49 56 63
8 16 24 32 40 48 56 64 72
9 18 27 36 45 54 63 72 81
外側のループ:九九の段が、「1の段、2の段、・・・、5の段」と増えながら繰り返されます。
内側のループ:各段(外側のループ(i))の中で掛ける数が「×1、×2、・・・、×9」と増えながら繰り返されます。
これらをまとめると、普通の九九と同じく「1×1=1、1×2=2、・・・、5×9=45」の順で処理が行われています。
多重ループの基本事項になります。
フローチャートやプログラムで多重ループを見た時、処理のイメージを浮かべることができればOKです。
多重ループの理解は”慣れ”なので、多重ループの問題を何回も解いてみることが重要です。
以上です。