while文は繰り返し処理に使われます。
そしてwhile文のbreakは、
繰り返しの処理を途中で中断したい時に使います。
本記事ではwhile文のbreakの使い方を簡単に説明します。
本記事と一緒に読みたい記事
while節でのbreakの使い方①
まずは最もシンプルな使い方です。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
int num = 0; while (num <= 10){ //numが10以下の時処理を繰り返す if (num == 5) { num++; break; //numが5の時処理を抜ける } System.out.println("数字は"+num+"です"); num++; } //結果: 数字は0です 数字は1です 数字は2です 数字は3です 数字は4です |
変数numを繰り返すwhile文で、numが5になると、
breakが実行されwhile節を抜けて、処理が終わっています。
while節でのbreakの使い方② label付き
以下の例をみてください。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
int num = 0; while (num <= 10){ //numが10以下の時処理を繰り返す //i=0で、1ずつ足す。4になるまで繰り返すfor文 for (int i = 0; i < 5; i++) { if (num == 5) { num++; break; //numが5の時処理を抜ける } System.out.println("numは"+num+"、iは"+i+"です"); num++; } } //結果: numは0、iは0です numは1、iは1です numは2、iは2です numは3、iは3です numは4、iは4です numは6、iは0です numは7、iは1です numは8、iは2です numは9、iは3です numは10、iは4です |
while文の中で、さらにfor文で繰り返しを行なっています。
結果は、break文がnum==5の時実行されていますが、for文を抜けているだけで、for文の外のwhile節は処理が続けられています。
Javaのbreakは、1つのブロック(for節やwhile節など)を抜けるというイメージです。
全てのブロックを抜けて処理を終えたい場合はラベルを付ければOKです。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
int num = 0; stop: while (num <= 10){ //numが10以下の時処理を繰り返す for (int i = 0; i < 5; i++) { if (num == 5) { num++; break stop; //numが5の時処理を抜ける } System.out.println("変数numは"+num+"、iは"+i+"です"); num++; } } //結果: 変数numは0、iは0です 変数numは1、iは1です 変数numは2、iは2です 変数numは3、iは3です 変数numは4、iは4です |
処理を抜けたいブロックの前に、labelで名前をつけます。この場合は、
stop: whileのstop:がラベルです。
そして処理を中断したいbreakの後にラベル名をつけます。
上のコードでは、break stop; の部分です。
すると結果は、numが5になると全ての処理が終わり、numが4までの結果しか出力されていませんね。
まとめ
・javaのwhile節でbreakは処理を中断することができる。
・break単体で使えば、1ブロック処理を抜ける。
・ラベル付きでbreakを使えば、ラベルを付けたブロックまで処理を抜けることができる。
breakに似た構文でcontinueもあるので是非チェックしてみてください。
参考:
本記事と一緒に読みたい記事