English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutoriales básicos de Java

Control de flujo Java

Java Arreglos

Java Programación Orientada a Objetos (I)

Java Programación Orientada a Objetos (II)

Java Programación Orientada a Objetos (III)

Manejo de excepciones en Java

Java Listas (List)

Java Colas (Queue)

Java Mapas (Map)

Java Conjuntos (Set)

Java Entrada/Salida (I/O)

Reader de Java/Writer

Otras temáticas de Java

Sentencia break de Java

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;

¿Cómo funciona el statement break?

Diagrama de flujo del statement break en Java

Ejemplo1:Java break statement

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.

Ejemplo2:Java break statement

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.

Interrupciones y bucles anidados en Java

ParaBucles anidados,la instrucción break termina el bucle más interno.

Diagrama de flujo del proceso de la instrucción break con bucles anidados

Aquí, la instrucción break termina el bucle while más interno y el control salta al bucle externo.

Instrucción break etiquetada

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.

Diagrama de flujo del proceso de la instrucción break etiquetada en Java

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.

Ejemplo3:instrucción break etiquetada

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