回答編集履歴

2

追記

2018/09/17 09:51

投稿

LouiS0616
LouiS0616

スコア35660

test CHANGED
@@ -10,15 +10,51 @@
10
10
 
11
11
  処理
12
12
 
13
- break loop;
13
+ break;
14
14
 
15
15
  case 2:
16
16
 
17
17
  処理
18
18
 
19
+ break loop;
20
+
21
+ }
22
+
23
+ }
24
+
25
+ ```
26
+
27
+
28
+
29
+ 次に、フラグを活用する方法。
30
+
31
+ ```Java
32
+
33
+ boolean needBreak = false;
34
+
35
+ while(条件式){
36
+
37
+ switch(条件値){
38
+
39
+ case 1:
40
+
41
+ 処理
42
+
43
+ break;
44
+
45
+ case 2:
46
+
47
+ 処理
48
+
49
+ needBreak = true;
50
+
19
51
  break;
20
52
 
21
53
  }
54
+
55
+
56
+
57
+ if(needBreak) break;
22
58
 
23
59
  }
24
60
 
@@ -38,13 +74,13 @@
38
74
 
39
75
  処理
40
76
 
41
- break;
77
+ continue;
42
78
 
43
79
  case 2:
44
80
 
45
81
  処理
46
82
 
47
- continue;
83
+ break;
48
84
 
49
85
  }
50
86
 
@@ -72,17 +108,19 @@
72
108
 
73
109
  処理
74
110
 
75
- return;
111
+ break;
76
112
 
77
113
  case 2:
78
114
 
79
115
  処理
80
116
 
81
- break;
117
+ return;
82
118
 
83
119
  }
84
120
 
85
121
  }
122
+
123
+ ...
86
124
 
87
125
  }
88
126
 

1

追記

2018/09/17 09:51

投稿

LouiS0616
LouiS0616

スコア35660

test CHANGED
@@ -58,28 +58,36 @@
58
58
 
59
59
 
60
60
 
61
- 関数化してreturnする方法。
61
+ 最後に、関数化してreturnする方法。
62
62
 
63
63
  ```Java
64
64
 
65
- while(条件式){
65
+ void func(引数) {
66
66
 
67
- switch(条件){
67
+ while(条件){
68
68
 
69
- case 1:
69
+ switch(条件値){
70
70
 
71
- 処理
71
+ case 1:
72
72
 
73
- return;
73
+ 処理
74
74
 
75
- case 2:
75
+ return;
76
76
 
77
- 処理
77
+ case 2:
78
78
 
79
+ 処理
80
+
79
- break;
81
+ break;
82
+
83
+ }
80
84
 
81
85
  }
82
86
 
83
87
  }
84
88
 
85
89
  ```
90
+
91
+
92
+
93
+ ラベル付きbreakが一番直接的ですが、若干ダーティな印象です。