break con etiqueta
Salga limpiamente de los bucles externos
break con etiqueta es una lección gratuita de Java Academy en CoddyKit. Esta es la lección 2 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Java Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Java Academy incluye 4 lecciones en total.
El problema de los bucles anidados
Un break normal solo sale del bucle interno. Sin embargo, a menudo desea salir de ambos bucles a la vez.
Imagine que busca un valor en una cuadrícula. Cuando lo encuentra, desea detenerlo todo, no solo el bucle interno.
Java resuelve esto mediante un break con etiqueta.
¿Qué es una etiqueta?
Una etiqueta es un nombre que se asigna a un bucle, seguido de dos puntos.
Por ejemplo, outer: colocado justo antes de un bucle for asigna a ese bucle el nombre "outer".
Las etiquetas por sí solas no hacen nada. Resultan útiles cuando se combinan con break o continue.
outer:
for (int i = 0; i < 3; i++) {
// 'outer' is now a name for this loop
}Sintaxis de break con etiqueta
Escriba el nombre de la etiqueta después de la palabra clave break: break outer;
Esto indica a Java que salga del bucle llamado outer, incluso desde el interior de un bucle anidado.
Los bucles interno y externo se detienen inmediatamente.
break outer; // exits the loop labeled 'outer'break con etiqueta en acción
Aquí buscamos en una cuadrícula de 3x3. Cuando encontramos col 2 en row 2, salimos del bucle externo.
Esto detiene ambos bucles a la vez, a diferencia de un break normal.
public class Main {
public static void main(String[] args) {
outer:
for (int row = 1; row <= 3; row++) {
for (int col = 1; col <= 3; col++) {
if (row == 2 && col == 2) {
System.out.println("Found at " + row + "," + col);
break outer;
}
}
}
System.out.println("Search over");
}
}Por qué se detuvo todo
La salida fue "Found at 2,2" y después "Search over".
Como usamos break outer, ambos bucles terminaron. La fila 3 nunca se visitó.
Un break normal habría continuado con la fila 3 después de salir únicamente del bucle interno.
Comparar los dos tipos de break
Observe la misma cuadrícula, esta vez con un break normal.
Este solo sale del bucle interno, por lo que el bucle externo continúa recorriendo todas las filas.
public class Main {
public static void main(String[] args) {
for (int row = 1; row <= 3; row++) {
for (int col = 1; col <= 3; col++) {
if (row == 2 && col == 2) {
break;
}
System.out.println(row + "," + col);
}
}
}
}Buscar en un array bidimensional
Un caso de uso real es buscar un objetivo dentro de una matriz.
Una vez localizado el valor, un break con etiqueta finaliza toda la búsqueda de forma limpia.
public class Main {
public static void main(String[] args) {
int[][] grid = {{1, 2}, {3, 9}, {5, 6}};
int target = 9;
search:
for (int r = 0; r < grid.length; r++) {
for (int c = 0; c < grid[r].length; c++) {
if (grid[r][c] == target) {
System.out.println("At row " + r + " col " + c);
break search;
}
}
}
}
}La etiqueta debe estar en un bucle
Una etiqueta se coloca directamente delante del bucle al que da nombre. No puede usar break con una etiqueta que no esté en un bucle envolvente.
Elija nombres claros como outer, rows o search para que el código se lea de forma natural.
Evite nombres imprecisos como x:, que ocultan su intención.
Tres niveles de anidamiento
Las etiquetas también funcionan con tres o más bucles anidados.
Aquí, un break con etiqueta sale directamente de los tres a la vez cuando se cumple una condición.
public class Main {
public static void main(String[] args) {
done:
for (int a = 1; a <= 2; a++) {
for (int b = 1; b <= 2; b++) {
for (int c = 1; c <= 2; c++) {
if (a + b + c == 4) {
System.out.println(a + "," + b + "," + c);
break done;
}
}
}
}
}
}Cuándo resulta útil el break con etiqueta
El break con etiqueta resulta especialmente útil cuando debe abandonar varios bucles en el instante en que encuentra un resultado.
Evita variables de control adicionales como boolean found, comprobadas en cada nivel.
Usado con moderación, mantiene los bucles de búsqueda breves y claros.
Úselo con moderación
Aunque son potentes, demasiadas etiquetas dificultan la comprensión del código.
Recurra principalmente a un break con etiqueta en búsquedas anidadas reales. Para bucles sencillos, un break normal es más claro.
La legibilidad siempre debe ser prioritaria.
Comprobación rápida
Decida qué hace un break con etiqueta en bucles anidados.
Repaso
Una etiqueta da nombre a un bucle, y break label; sale de ese bucle, escapando de todos los bucles anidados dentro de él.
Esto resulta ideal para detener de una vez una búsqueda completamente anidada. A continuación verá cómo funcionan las etiquetas con continue.
Preguntas frecuentes
¿La lección «break con etiqueta» es gratis?
Sí — el texto completo de «break con etiqueta» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Java Academy, actualiza a CoddyKit PRO. El curso de Java Academy incluye 4 lecciones en total.
¿Qué aprenderé en «break con etiqueta»?
Salga limpiamente de los bucles externos Practicas Java Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Java Academy?
No se requiere experiencia previa. Java Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 2 de 4.
¿Cuánto tiempo toma la lección «break con etiqueta»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Java Academy?
Sí. Cada lección de Java Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- break y continue
- break con etiqueta
- continue con etiqueta
- Cómo evitar el flujo espagueti