archive
[Java] for文の入れ子、ネスト構造について解説 | nested loops
for文にfor文が重なるfor文の入れ子、ネスト構造について整理。
Javaのネスト構造の実際のコードや、実行時の流れについて解説する。
for文の実行の順番
まずは単体のfor文についての復習。
単体のfor文では、以下の順番で実行される。
- 初期化式
- 条件式
- for文の中の処理
- 変化式

詳しくはこちらで整理した。
入れ子にしたfor文の例
次にネスト構造のfor文を見ていく。
まずは実際のプログラムを見てみる。
`public class Main{
public static void main(String[] args){
for(int i = 0; i < 3; i++){
System.out.println(i);
for(int j = 0; j < 3; j++){
System.out.println("★"+j);
}
}
}
}`
星がついている数字が、2つ目のfor文で出力された数字となる。
`//出力結果 0 ★0 ★1 ★2 1 ★0 ★1 ★2 2 ★0 ★1 ★2`
for文が入れ子の場合の実行の順番は?

実行の順番を詳しく説明すると、下記のような形になる。
- 1-1でカウンター変数を宣言、初期化
- 1-2で条件チェック
- 1-3で中の処理を実行 (すなわち二つ目のfor文を実行)
- 2-1で2つ目のfor文のカウンター変数を宣言、初期化
- 2-2で条件チェック
- 2-3で2つ目のfor文の中の処理を実行
- 2-4で変化式で2つ目のfor文のカウンター変数を操作。2-2の条件チェックへ戻る
- 2-2の条件がfalseになったら1-4へ
配列と繰り返し処理についての関連記事
入れ子のfor文のネスト構造は、多次元配列とセットで使われることも多い。
下記に、配列と繰り返し処理についての関連記事をまとめた。
配列と繰り返し処理 - [Java] 配列とリストとマップのデータへのアクセス
- [Java] for文の繰り返し処理の順番
- [Java / array] [ ] や[ ][ ] とは
- [Java] 二重ループと多次元配列の組み合わせ
全体像を把握する
下記にJavaやwebアプリケーションについての記事をまとめた。
[st-card myclass="" id=3431 label="" pc_height="" name="" bgcolor="" color="" fontawesome="" readmore=“on”]
コンピューターについての全体像も把握しておくと、プログラミングのさらなる理解に役立つ。
[st-card myclass="" id=4587 label="" pc_height="" name="" bgcolor="" color="" fontawesome="" readmore=“on”]