Java break ステートメント
Java break ステートメント
このチュートリアルでは、Java の break ステートメントとラベル付けされた break ステートメントについて、例を使用して学習します。
ループを操作している間、ループ内のいくつかのステートメントをスキップするか、テスト式をチェックせずにループをすぐに終了することが望ましい場合があります。
そのような場合、break
と continue
ステートメントが使用されます。 Java の continue ステートメントについては、次のチュートリアルで学習します。
break
Java のステートメントはすぐにループを終了し、プログラムの制御はループに続く次のステートメントに移ります。
ほとんどの場合、意思決定ステートメント (Java if...else ステートメント) で使用されます。
Java での break ステートメントの構文は次のとおりです。
break;
break ステートメントの仕組み
<図>
例 1:Java の break ステートメント
class Test {
public static void main(String[] args) {
// for loop
for (int i = 1; i <= 10; ++i) {
// if the value of i is 5 the loop terminates
if (i == 5) {
break;
}
System.out.println(i);
}
}
}
出力 :
1 2 3 4
上記のプログラムでは、for
を使用しています。 i の値を出力するためのループ 各反復で。 for
の方法を知る ループが機能する場合は、Java for ループにアクセスしてください。ここで、ステートメントに注目してください。
if (i == 5) {
break;
}
これは、i の値が が 5 に等しい場合、ループは終了します。したがって、5 未満の値のみを含む出力が得られます。
例 2:Java ブレーク ステートメント
以下のプログラムは、ユーザーが負の数を入力するまで、ユーザーが入力した数値の合計を計算します。
ユーザーからの入力を取得するために、 Scanner
を使用しました 物体。 Scanner
について詳しく知るには 、Java Scanner にアクセスしてください。
import java.util.Scanner;
class UserInputSum {
public static void main(String[] args) {
Double number, sum = 0.0;
// create an object of Scanner
Scanner input = new Scanner(System.in);
while (true) {
System.out.print("Enter a number: ");
// takes double input from user
number = input.nextDouble();
// if number is negative the loop terminates
if (number < 0.0) {
break;
}
sum += number;
}
System.out.println("Sum = " + sum);
}
}
出力 :
Enter a number: 3.2 Enter a number: 5 Enter a number: 2.3 Enter a number: 0 Enter a number: -4.5 Sum = 10.5
上記のプログラムでは、 while
のテスト式 ループは常に true
です .ここで、次の行に注目してください。
if (number < 0.0) {
break;
}
これは、ユーザーが負の数を入力すると、while ループが終了することを意味します。
Java ブレークと入れ子ループ
ネストされたループの場合、break
ステートメントは最も内側のループを終了します。

ここで、break ステートメントは最も内側の while
を終了します。 ループし、制御は外側のループにジャンプします。
ラベル付き break ステートメント
これまで、ラベルのない break ステートメントを使用してきました。最も内側のループと switch ステートメントを終了します。ただし、Java には、ラベル付き break として知られる別の形式の break ステートメントがあります。
ラベル付きの break ステートメントを使用して、最も外側のループを終了することもできます。
<図>
上の画像でわかるように、ラベル を使用しています。 外側のループを指定する識別子。 break
ステートメントが使用されます (break label;
).
ここでは、break
ステートメントは、ラベル付きステートメント (つまり、外側のループ) を終了しています。次に、プログラムの制御は、ラベル付けされたステートメントの後のステートメントにジャンプします。
別の例を次に示します:
while (testExpression) {
// codes
second:
while (testExpression) {
// codes
while(testExpression) {
// codes
break second;
}
}
// control jumps here
}
上記の例では、ステートメント break second;
while
が実行されます second というラベルの付いたループ 終了します。そして、プログラムの制御は 2 番目の while
の後のステートメントに移動します。 ループ。
例 3:ラベル付き break ステートメント
class LabeledBreak {
public static void main(String[] args) {
// the for loop is labeled as first
first:
for( int i = 1; i < 5; i++) {
// the for loop is labeled as second
second:
for(int j = 1; j < 3; j ++ ) {
System.out.println("i = " + i + "; j = " +j);
// the break statement breaks the first for loop
if ( i == 2)
break first;
}
}
}
}
出力 :
i = 1; j = 1 i = 1; j = 2 i = 2; j = 1
上記の例では、labeled break
ステートメントは、最初のラベルが付いたループを終了するために使用されます。つまり、
first:
for(int i = 1; i < 5; i++) {...}
ここで、ステートメント break first;
を変更すると break second;
まで プログラムの動作が異なります。この場合、for
second というラベルの付いたループは終了します。たとえば、
class LabeledBreak {
public static void main(String[] args) {
// the for loop is labeled as first
first:
for( int i = 1; i < 5; i++) {
// the for loop is labeled as second
second:
for(int j = 1; j < 3; j ++ ) {
System.out.println("i = " + i + "; j = " +j);
// the break statement terminates the loop labeled as second
if ( i == 2)
break second;
}
}
}
}
出力 :
i = 1; j = 1 i = 1; j = 2 i = 2; j = 1 i = 3; j = 1 i = 3; j = 2 i = 4; j = 1 i = 4; j = 2
注意 :break
ステートメントは、switch
内のケースを終了するためにも使用されます 声明。詳細については、Java の switch ステートメントをご覧ください。
Java