回答編集履歴
2
諸々追加
test
CHANGED
@@ -1,4 +1,12 @@
|
|
1
1
|
for文のセミコロンで区切られた文は、順に初期化文、継続条件、更新文となっています。これはそのいずれも指定しない書き方です。
|
2
|
+
|
3
|
+
- 初期化文 → 最初にforに入る際に行う処理
|
4
|
+
|
5
|
+
- 継続条件 → 初期化文または更新文の実行後に判定するbooleanを返す式。trueなら続行。何もなければ無条件続行。
|
6
|
+
|
7
|
+
- 更新文 → for文の内容が1回終了するごとに実行する処理
|
8
|
+
|
9
|
+
|
2
10
|
|
3
11
|
特に継続条件がないものは、内部でbreakやreturnを実行しない限り、無限ループになります。
|
4
12
|
|
@@ -22,4 +30,4 @@
|
|
22
30
|
|
23
31
|
|
24
32
|
|
25
|
-
しかしこのforループはこのいずれも起こり得ません。そのため、forループの次にある文は「デッドコード」となり、ミスと見なされてコンパイルエラーになるのです。
|
33
|
+
しかしこのforループはこのいずれも起こり得ません。そのため、永遠にforループの内容を実行することになり、forループの次にある文は絶対に実行されることのない「デッドコード」となり、ミスと見なされてコンパイルエラーになるのです。
|
1
ループ脱出
test
CHANGED
@@ -1,3 +1,25 @@
|
|
1
1
|
for文のセミコロンで区切られた文は、順に初期化文、継続条件、更新文となっています。これはそのいずれも指定しない書き方です。
|
2
2
|
|
3
3
|
特に継続条件がないものは、内部でbreakやreturnを実行しない限り、無限ループになります。
|
4
|
+
|
5
|
+
|
6
|
+
|
7
|
+
forループから抜け出す方法はいくつかあり、
|
8
|
+
|
9
|
+
0. 継続条件の判定がfalseになる
|
10
|
+
|
11
|
+
0. break文の実行
|
12
|
+
|
13
|
+
(for以外に、while,switchブロックから抜け出すのにも使う)
|
14
|
+
|
15
|
+
0. return文の実行
|
16
|
+
|
17
|
+
(メソッド内のどこからでも実行でき、そのメソッドを抜け出す)
|
18
|
+
|
19
|
+
0. 例外の発生
|
20
|
+
|
21
|
+
(ループの外にcatchがあればループを抜けそこに行く)
|
22
|
+
|
23
|
+
|
24
|
+
|
25
|
+
しかしこのforループはこのいずれも起こり得ません。そのため、forループの次にある文は「デッドコード」となり、ミスと見なされてコンパイルエラーになるのです。
|