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

回答編集履歴

2

諸々追加

2016/11/06 06:03

投稿

swordone
swordone

スコア20675

answer CHANGED
@@ -1,4 +1,8 @@
1
1
  for文のセミコロンで区切られた文は、順に初期化文、継続条件、更新文となっています。これはそのいずれも指定しない書き方です。
2
+ - 初期化文 → 最初にforに入る際に行う処理
3
+ - 継続条件 → 初期化文または更新文の実行後に判定するbooleanを返す式。trueなら続行。何もなければ無条件続行。
4
+ - 更新文 → for文の内容が1回終了するごとに実行する処理
5
+
2
6
  特に継続条件がないものは、内部でbreakやreturnを実行しない限り、無限ループになります。
3
7
 
4
8
  forループから抜け出す方法はいくつかあり、
@@ -10,4 +14,4 @@
10
14
  0. 例外の発生
11
15
  (ループの外にcatchがあればループを抜けそこに行く)
12
16
 
13
- しかしこのforループはこのいずれも起こり得ません。そのため、forループの次にある文は「デッドコード」となり、ミスと見なされてコンパイルエラーになるのです。
17
+ しかしこのforループはこのいずれも起こり得ません。そのため、永遠にforループの内容を実行することになり、forループの次にある文は絶対に実行されることのない「デッドコード」となり、ミスと見なされてコンパイルエラーになるのです。

1

ループ脱出

2016/11/06 06:03

投稿

swordone
swordone

スコア20675

answer CHANGED
@@ -1,2 +1,13 @@
1
1
  for文のセミコロンで区切られた文は、順に初期化文、継続条件、更新文となっています。これはそのいずれも指定しない書き方です。
2
- 特に継続条件がないものは、内部でbreakやreturnを実行しない限り、無限ループになります。
2
+ 特に継続条件がないものは、内部でbreakやreturnを実行しない限り、無限ループになります。
3
+
4
+ forループから抜け出す方法はいくつかあり、
5
+ 0. 継続条件の判定がfalseになる
6
+ 0. break文の実行
7
+ (for以外に、while,switchブロックから抜け出すのにも使う)
8
+ 0. return文の実行
9
+ (メソッド内のどこからでも実行でき、そのメソッドを抜け出す)
10
+ 0. 例外の発生
11
+ (ループの外にcatchがあればループを抜けそこに行く)
12
+
13
+ しかしこのforループはこのいずれも起こり得ません。そのため、forループの次にある文は「デッドコード」となり、ミスと見なされてコンパイルエラーになるのです。