ループを脱出する – break命令
break [label]
label:ラベル文字列
breakは、現在のループを脱出するための命令です。一般的には、ifなどの条件分岐とセットで利用します。たとえば以下は、変数valが5より大きくなったところで、ループを強制終了する例です。
StatBreak.java
- package com.example.mynavi.control;
- public class StatBreak {
- public static void main(String[] args) {
- var val = 0;
- while (val < 10) {
- System.out.print(val + "/");
- val++;
- if (val > 5) { break; }
- } // 結果:0/1/2/3/4/5/
- }
- }
ラベル構文を利用することで、入れ子になったループをまとめて脱出することもできます。たとえば、以下のサンプルでは変数i、jの積が初めて50を超えたところで、ループを終了します。ラベルは脱出したいループの先頭に付与します(この場合は「ext」)。
StatBreak2.java
- package com.example.mynavi.control;
- public class StatBreak2 {
- public static void main(String[] args) {
- ext :
- for (var i = 1; i < 10; i++) {
- for (var j = 1; j < 10; j++) {
- if (i * j > 50) { break ext; }
- System.out.print((i * j) + "/");
- }
- System.out.println();
- }
- }
- }
↓
- 1/2/3/4/5/6/7/8/9/
- 2/4/6/8/10/12/14/16/18/
- 3/6/9/12/15/18/21/24/27/
- 4/8/12/16/20/24/28/32/36/
- 5/10/15/20/25/30/35/40/45/
- 6/12/18/24/30/36/42/48/
監修
山田祥寛(有限会社 WINGSプロジェクト)
静岡県榛原町生まれ。一橋大学経済学部卒業後、NEC にてシステム企画業務に携わるが、2003年 4 月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト(https://wings.msn.to/)」の代表でもある。主な著書に『改訂 3 版JavaScript 本格入門』(技術評論社)、「独習シリーズ(C#・Python・PHP・Ruby・JSP&サーブレットなど)」(翔泳社)、「速習シリーズ(ASP.NET Core・Vue.js・React・TypeScript・ECMAScript、Laravel など)」(Amazon Kindle)など。売り上げの累計は100万部を超える。