Java二層forループの解釈

1688 ワード

まず最もよく見られる二層forサイクルを紹介します.これを書く原因はforサイクルの多様化をはっきり見ることです.その時のニーズに応じてforサイクルを書くことです.理解してほしいです.回り道をしないでください.よく書けません.コメントを書いてください.私は修正します.
 
i++ :    ,  1

++i:1を先に追加し、実行中
1. for (int i = 0; i < 5; i++) {
    for (int j = 0; j < 5; j++) {
        System.out.println(j);
    }
}
          ,               ,    ,   j        
    ---(0,1,2,3,4),         5        
      for       ,     for  ,               ,
              ,        ,         continue,       ,      。

 
2. for (int i = 0; i < 5; i++) {
    for (int j = 0; j < 5; j++) {
        System.out.println(i);
    }
}

このループは上の動作メカニズムと同様に,出力オブジェクトを1つ交換したが,出力回数が異なる.
回数は---(00000111112222,….)
今回は第1層のサイクル条件が第2層のサイクルに入って5回目に5個の0を出力し、第2層の条件が満たされていないときは上層のサイクルに戻る(実は次のサイクルとも言えるが、個人のサイクルに対する理解だけを見ると)、第1層のサイクル条件はtrueなので、サイクルを続けると、最初の値が出てくる
3.  for (int i = 0; i < 5; i++) {
    for (int j = 0; j < i; j++) {
        System.out.println(i);
    }
}
      ----(1,2,2,3,3,3,4,4,4,4)

ここを見て、思考が混乱していないと感じたら見続け、混乱している場合は、初期化、条件式、一元演算子を理解することをお勧めします.
この2層のforループは、注目点が2層目のつながりにある.私が定義したのはi<5であるため、i++の自己増加は4までしか実行できないが、2層目の初期化も0であり、その自己増加(j++)は1層目のループに基づいて増加するので、0を排除し、1層目の条件がループを終了するまで1回増加する.
4. for (int i = 0; i < 5; i++) {
    for (int j = 0; j < i; j++) {
        System.out.println(j);
    }
}

今回の出力は---(0,0,1,0,1,2,0,1,2,3)ですが、なぜこのような数値が得られるのでしょうか.やはり自分で操作して、自分で理解することができます