English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
En este tutorial, aprenderá a través de ejemplos el statement break, que en Java se denomina statement break.
Al usar bucles, a veces se desea omitir ciertas instrucciones dentro del bucle o terminar el bucle inmediatamente sin verificar la expresión de prueba.
En este caso, se utilizarán los statements break y continue. Se lo explicará en el próximo capítulo.Statement continue。
El statement break en Java detiene inmediatamente el ciclo y el control del programa se transfiere a la siguiente instrucción después del ciclo.
El statement break se utiliza casi siempre con instrucciones de decisión (Java if ... else statement)juntos.
Esta es la sintaxis del statement break en Java:
break;
class Test { public static void main(String[] args) { // Ciclo for for (int i = 1; i <= 10; ++i) { //Si el valor de i es5entonces, el ciclo termina if (i == 5) { break; } System.out.println(i); } } }
输出:
1 2 3 4
En el programa anterior, utilizamos un ciclo for para imprimir el valor de i en cada iteración. Para entender cómo funciona el ciclo for, visiteJava for loop. Aquí, tenga en cuenta las siguientes instrucciones:
if (i == 5) { break; }
Esto significa que cuando el valor de i es igual a5cuando, el ciclo termina. Por lo tanto, obtenemos que es menor que5el valor de salida.
El siguiente programa calcula la suma de los números ingresados por el usuario hasta que el usuario ingrese un número negativo.
Para aceptar la entrada del usuario, hemos utilizado el objeto Scanner. Para obtener más información sobre Scanner, visiteJava Scanner。
import java.util.Scanner; class UserInputSum { public static void main(String[] args) { Double number, sum = 0.0; //Crear objeto Scanner Scanner input = new Scanner(System.in); while (true) { System.out.print("Ingrese un número: "); //Aceptar dos entradas del usuario number = input.nextDouble(); //Si number es un número negativo, el bucle termina if (number < 0.0) { break; } sum += number; } System.out.println("Sum = " + sum); } }
输出:
Ingrese un número: 3.2 Ingrese un número: 5 Ingrese un número: 2.3 Ingrese un número: 0 Ingrese un número: -4.5 Sum = 10.5
En el programa anterior, la expresión de prueba del bucle while siempre es true. Aquí, preste atención a esta línea,
if (number < 0.0) { break; }
Esto significa que cuando el usuario ingresa un número negativo, el bucle while termina.
ParaBucles anidados,la instrucción break termina el bucle más interno.
Aquí, la instrucción break termina el bucle while más interno y el control salta al bucle externo.
Hasta ahora, hemos utilizado la instrucción break sin etiqueta. Esto termina el bucle más interno y las instrucciones switch. Pero, en Java, hay otro tipo de instrucción break, llamada break etiquetada.
También podemos usar la instrucción break etiquetada para terminar el bucle más externo.
Como se muestra en la imagen anterior, usamos el identificador de etiqueta para especificar el bucle externo. Ahora, preste atención a cómo se utiliza esta instrucción break (break etiqueta;).
Aquí, la instrucción break termina la instrucción etiquetada (es decir, el bucle externo). Luego, el programa salta a la instrucción después de la etiqueta especificada.
Este es otro ejemplo:
while (testExpression) { // Código second: while (testExpression) { // Código while (testExpression) { // Código break second; } } //El código salta aquí }
En el ejemplo anterior, cuando se ejecuta la instrucción break second; se ejecuta, después de lo cual, el bucle while etiquetado como Second termina. Y, el control del programa se transfiere a la instrucción después del segundo bucle while.
class LabeledBreak { public static void main(String[] args) { //for循环标记为first first: for( int i = 1; i < 5; i++) { //for循环标记为second second: for(int j = 1; j < 3; j ++ ) { System.out.println("i = " + i + "; j = " +j); //La instrucción break termina el primer bucle for if ( i == 2) break first; } } } }
输出:
i = 1; j = 1 i = 1; j = 2 i = 2; j = 1
En el ejemplo anterior, la instrucción de salida etiquetada se utiliza para detener el bucle etiquetado como first. Eso es,
first: for (int i = 1; i < 5; i++) {...}
在这里,如果我们更改break first;为 break second;程序的行为将不同。在这种情况下,标记为second的for循环将被终止。例如,
class LabeledBreak { public static void main(String[] args) { //for循环标记为first first: for( int i = 1; i < 5; i++) { //for循环标记为second second: for(int j = 1; j < 3; j ++ ) { System.out.println("i = " + i + "; j = " +j); //break语句终止标记为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语句中的case。要了解更多信息,请访问Sentencias switch de Java。