teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

4

追記

2017/08/10 05:50

投稿

LouiS0616
LouiS0616

スコア35678

answer CHANGED
@@ -68,4 +68,7 @@
68
68
  for(int j = 0; j < 2; j++) {
69
69
  System.out.println(i + ", " + j);
70
70
  }
71
- ```
71
+ ```
72
+
73
+ 三重ループだろうと四重ループだろうと挙動は同じような考え方で追えます。
74
+ まあ、そこまでネストが深くなると、それはそれで問題ですが... これは別の話。

3

追記

2017/08/10 05:50

投稿

LouiS0616
LouiS0616

スコア35678

answer CHANGED
@@ -23,4 +23,49 @@
23
23
  System.out.println("内側のループカウンタ: " + j);
24
24
  }
25
25
  }
26
+ ```
27
+
28
+ ---
29
+ **質問者さまのコメントを受けて**
30
+ 次の二つのコードは、**結果は**同じです。
31
+ ```Java
32
+ for(int i = 0; i < 2; i++) {
33
+ doSomething(i); // なんか適当な処理
34
+ }
35
+ ```
36
+
37
+ ```Java
38
+ int i = 0;
39
+ doSomething(i);
40
+ i++;
41
+ doSomething(i);
42
+ ```
43
+
44
+ 例えば、doSomethingを次のように定義します。
45
+ ```Java
46
+ void doSomething(int num) {
47
+ for(int j = 0; j < 2; j++) {
48
+ System.out.println(num + ", " + j);
49
+ }
50
+ }
51
+ ```
52
+
53
+ そうすると、次の二つのコードが同じだということが納得できませんか?
54
+ ```Java
55
+ for(int i = 0; i < 2; i++) {
56
+ for(int j = 0; j < 2; j++) {
57
+ System.out.println(i + ", " + j);
58
+ }
59
+ }
60
+ ```
61
+
62
+ ```Java
63
+ int i = 0;
64
+ for(int j = 0; j < 2; j++) {
65
+ System.out.println(i + ", " + j);
66
+ }
67
+ i++;
68
+ for(int j = 0; j < 2; j++) {
69
+ System.out.println(i + ", " + j);
70
+ }
26
71
  ```

2

te2jiさまのご指摘を受けて

2017/08/10 05:46

投稿

LouiS0616
LouiS0616

スコア35678

answer CHANGED
@@ -11,4 +11,16 @@
11
11
  ---
12
12
  二重ループはやっかいで、とんでもない特殊ルールが発動する... **なんてことないです。**
13
13
  普通のループのネストとして読み取れます。
14
- 一重のループの挙動がわかるのでしたら、じっくり考えれば二重ループも簡単なはずです。
14
+ 一重のループの挙動がわかるのでしたら、じっくり考えれば二重ループも簡単なはずです。
15
+
16
+ ---
17
+ **te2ji様のご指摘を受けて**
18
+ こちらも試してみるとよいでしょう。
19
+ ```Java
20
+ for (int i = 0; i < size; i++) {
21
+ System.out.println("外側のループカウンタ: " + i);
22
+ for (int j = 0; j < size; j++) {
23
+ System.out.println("内側のループカウンタ: " + j);
24
+ }
25
+ }
26
+ ```

1

追記

2017/08/10 03:51

投稿

LouiS0616
LouiS0616

スコア35678

answer CHANGED
@@ -6,4 +6,9 @@
6
6
  System.out.println(i + ", " + j);
7
7
  }
8
8
  }
9
- ```
9
+ ```
10
+
11
+ ---
12
+ 二重ループはやっかいで、とんでもない特殊ルールが発動する... **なんてことないです。**
13
+ 普通のループのネストとして読み取れます。
14
+ 一重のループの挙動がわかるのでしたら、じっくり考えれば二重ループも簡単なはずです。