Okapi Project

break 文(ぶれいく)

バージョン
2004 年 01月 20日 Ver.1.0
作成者
H.Izumi ( Xware )

目的

処理の流れを止めたい!

breakってなに?

 Java では処理の流れを止める命令として break 文があります。break 文には処理の流れを強制的に終了し、そのブロックから抜け出す。ということが出来ます。

breakの説明

break の書き方

アクセス修飾子 戻り値の型 メソッド名(){
    処理;
    break;
}

アクセス修飾子
任意のアクセス修飾子を記述します。
戻り値の型
任意の戻り値の型を記述します。
メソッド名
任意のメソッド名を記述します。
処理
任意の処理を記述します。

breakの使い方

break の使用例

以下は、break 文を使って処理を途中で強制的に終了させる簡単なプログラムの例です。

public class BreakTest {
    public void breakTest() {
        System.out.println("breakTestメソッドがよばれました。");

        for (int i = 1; i < 10; i++) {
            System.out.println(i + "番目です。");
            if (i == 4) {
                System.out.println(i + "番目で処理を抜けました。");
                break;
            }
        }
    }
}

以下が、上記の「BreakTest」クラスを呼び出すメイン関数を持つクラスです。

public class MainTest {
    public static void main(String[] args) {
		
        //BreakTestクラスのインスタンス作成
        BreakTest bt = new BreakTest();
        bt.breakTest();
        System.out.println("処理が戻りました。");
    }
}

以下が実行結果です。

breakTestメソッドがよばれました。
1番目です。
2番目です。
3番目です。
4番目です。
4番目で処理を抜けました。
処理が戻りました。
以上の実行結果をみてわかる通り、 「for 文」の処理の中で本来なら「i」の値が 10 未満の間繰り返しますが、途中で記述されている「if 文」の処理の中で「i」の値が 4 であったなら break 文で強制的に処理を終了しているのがわかります。

ポイント

ヒント

break 文の利用例

break 文は swith 文の処理の中に記述することによって有効に利用することが出来ます。以下がそのプログラムの例です。

public class BreakTest {
    public void breakTest() {
        System.out.println("breakTestメソッドがよばれました。");

        for (int i = 1; i <= 3; i++) {
            System.out.println("----" + i + "番目です。----");
            switch (i) {
                case 1 :
                    System.out.println("case1通過");
                case 2 :
                    System.out.println("case2通過");
                    break;
                case 3 :
                    System.out.println("case3通過");
            }
        }
    }
}

以下が上記の「」クラスを呼び出すメイン関数を持つクラスです。

public class MainTest {
    public static void main(String[] args) {
		
        //BreakTestクラスのインスタンス作成
        BreakTest bt = new BreakTest();
        bt.breakTest();
        System.out.println("処理が戻りました。");
    }
}

以下が実行結果になります。

breakTestメソッドがよばれました。
----1番目です。----
case1通過
case2通過
----2番目です。----
case2通過
----3番目です。----
case3通過
処理が戻りました。

本来、bereak 文の記述が「case2」内で行われていなかった場合には、「i」の値が「1」、「2」であった時も「case3」の処理を行ってしまいますが、break 文の記述により、以上の実行結果をみてもわかる通り、 「case2」の処理の途中で break 文によって強制的に処理が終了しているのがわかります。

break 文を使う際の注意点

break 文を記述した先に処理を記述すると、到達不能コードとしてコンパイルエラーになってしまいます。以下はそのプログラムの例です。

public class BreakTest {
    public void breakTest() {
        System.out.println("breakTestメソッドがよばれました。");

        for (int i = 1; i < 10; i++) {
            System.out.println(i + "番目です。");
            if (i == 4) {
                System.out.println(i + "番目で処理を抜けました。");
                break;
                System.out.println("達成不能コードです。");
            }
        }
    }
}
以上のように記述してしまうと、10 行目でコンパイルエラーになってしまいます。

関連


Copyright © 2003 - 2006 Okapi Project All Rights Reserved.