・for文の中にfor文を記述


※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

for文で実行されるブロックの中には様々な文を記述することができますので他のfor文を記述することができます。次の例を見て下さい。
for (int i = 0; i < 2; i++){
  for (int j = 0; j < 2; j++){
    System.out.println("i = " + i + ",j = " + j);
  }
}
この例では外側のfor文のブロック内に別のfor文を記述しています。ではこのサンプルがどのように実行されるのか確認してみます。
 1)変数「i」を宣言し、0で初期化する

 2)外側の条件式を評価し繰り返しを実行する
 3)変数「j」を宣言し、0で初期化する
 4)内側の条件式を評価し繰り返しを実行する
 5)「i = 0,j = 0」を出力
 6)変化式によって変数「j」の値を1にする
 7)内側の条件式を評価し繰り返しを実行する
 8)「i = 0,j = 1」を出力
 9)変化式によって変数「j」の値を2にする
10)内側の条件式を評価し内側のfor文を終了する
11)変化式によって変数「i」の値を1にする

12)外側の条件式を評価し繰り返しを実行する
13)変数「j」を宣言し、0で初期化する
14)内側の条件式を評価し繰り返しを実行する
15)「i = 1,j = 0」を出力
16)変化式によって変数「j」の値を1にする
17)内側の条件式を評価し繰り返しを実行する
18)「i = 1,j = 1」を出力
19)変化式によって変数「j」の値を2にする
20)内側の条件式を評価し内側のfor文を終了する
21)変化式によって変数「i」の値を2にする

22)外側の条件式を評価し外側のfor文を終了する
長くなっていますが、2)から11)までが外側のfor文の1回目の繰り返し処理、12)から21)までが外側のfor文の2回目の繰り返し処理となります。そして外側のfor文が1回回るたびに内側のfor文が繰り返し実行されることになります。
2つの変数の値をそれぞれ範囲内で変化させ、総当りの組み合わせで処理を行いたい場合に使われます。





わからないところがあったら以下に書き込んでください。
  • test -- (test) 2010-12-10 22:01:03
  • テスト
    -- (test) 2010-12-10 23:00:34
  • hosei -- (HOSEI) 2011-01-31 14:10:34
  • test -- (名無しさん) 2011-01-31 14:10:53
名前:
コメント:

すべてのコメントを見る