Java Technology

[Java] for文のネスト構造について整理 | nested loops

2021-01-01

for文にfor文が重なるととてもややこしく感じてしまったので一度整理。


for文の実行の順番

for文は、以下の順番で実行される。

  1. 初期化式
  2. 条件式
  3. for文の中の処理
  4. 変化式



詳しくはこちらで整理した。


for文が入れ子の場合の実行の順番は?


  1. 1-1でカウンター変数を宣言、初期化
  2. 1-2で条件チェック
  3. 1-3で中の処理を実行 (すなわち二つ目のfor文を実行)
    1. 2-1で2つ目のfor文のカウンター変数を宣言、初期化
    2. 2-2で条件チェック
    3. 2-3で2つ目のfor文の中の処理を実行
    4. 2-4で変化式で2つ目のfor文のカウンター変数を操作。2-2へ戻る
    5. 2-2の条件がfalseになったら1-4へ
  4. 1-4で1つ目のfor文のカウンター変数を操作。1-2へ戻る
  5. 1-2の条件がfalseになったら、終了。


入れ子にした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

-Java, Technology