archive

[Java] for文の入れ子、ネスト構造について解説 | nested loops


for文にfor文が重なるfor文の入れ子、ネスト構造について整理。

Javaのネスト構造の実際のコードや、実行時の流れについて解説する。

for文の実行の順番

まずは単体のfor文についての復習。

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

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

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

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

    配列と繰り返し処理についての関連記事

    入れ子のfor文のネスト構造は、多次元配列とセットで使われることも多い。

    下記に、配列と繰り返し処理についての関連記事をまとめた。

     
      配列と繰り返し処理  
     

       

  4. [Java] 配列とリストとマップのデータへのアクセス
  5.    
  6. [Java] for文の繰り返し処理の順番
  7.    
  8. [Java / array] [ ] や[ ][ ] とは
  9.    
  10. [Java] 二重ループと多次元配列の組み合わせ
  11.  

    全体像を把握する

    下記に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”]