Romper bucles anidados en Java
-
Romper el bucle interno utilizando una declaración
break
en Java -
Romper un bucle anidado utilizando una declaración
break
con una etiqueta en Java -
Romper un bucle anidado mediante una declaración
break
en Java -
Romper un bucle anidado utilizando una variable
flag
en Java -
Romper un bucle anidado utilizando una declaración
return
en Java
![Romper bucles anidados en Java](/img/Java/feature-image---break-out-of-nested-loops-in-java.webp)
Este tutorial presenta formas sobre cómo romper bucles anidados en Java. Incluimos algunos programas de ejemplo que puede seguir como guía.
Un bucle es una técnica que nos permite repetir cualquier declaración de código en cualquier número de veces dependiendo de la condición dada. Java admite varios tipos de bucles como el bucle while
, el bucle do-while
, el bucle for
y el bucle for-each
. También podemos anidar estos bucles.
En este artículo, aprenderá cómo romper un bucle anidado en Java. Hay varias formas de romper un bucle anidado; estos incluyen el uso de declaraciones break
y return
. ¡Sigue leyendo para saber más!
Romper el bucle interno utilizando una declaración break
en Java
Si desea romper un bucle, puede usar la declaración break
. Esta declaración rompería el bucle interno solo si la aplicara en el bucle interno. Así es como puede hacerlo:
public class SimpleTesting {
public static void main(String[] args) {
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 5; j++) {
System.out.println(j);
if (i == 2) {
System.out.println("loop break");
break;
}
}
System.out.println();
}
}
}
Producción :
0
1
2
3
4
0
1
2
3
4
0
loop break
0
1
2
3
4
0
1
2
3
4
Romper un bucle anidado utilizando una declaración break
con una etiqueta en Java
Si desea romper todos los bucles, tanto internos como externos, puede usar una etiqueta con una declaración break
que cortará todos los bucles y moverá el control al bucle exterior. Vea el ejemplo a continuación:
public class SimpleTesting {
public static void main(String[] args) {
out:
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 5; j++) {
System.out.println(j);
if (i == 2) {
System.out.println("loop break");
break out;
}
}
System.out.println();
}
}
}
Producción :
0
1
2
3
4
0
1
2
3
4
0
loop break
Romper un bucle anidado mediante una declaración break
en Java
Un bucle puede ser de los tipos while
, for
o for-each
, y podemos usar una instrucción break
en cualquiera de estos bucles. En este ejemplo, estamos usando un bucle while
y rompiendo su flujo usando una declaración break
. Vea el ejemplo a continuación:
public class SimpleTesting {
public static void main(String[] args) {
int i = 0;
out:
while (i < 5) {
int j = 0;
while (j < 5) {
System.out.println(j);
if (i == 2) {
System.out.println("loop break");
break out;
}
j++;
}
System.out.println();
i++;
}
}
}
Producción :
0
1
2
3
4
0
1
2
3
4
0
loop break
Romper un bucle anidado utilizando una variable flag
en Java
Este método introduce otro escenario en el que estamos usando una variable en la condición de bucle; cuando se cumple la condición, el bucle estalla. Este código es bueno si no desea utilizar una declaración break
. Este proceso también es mejor porque hace que el código sea más legible. Siga el bloque de código a continuación:
public class SimpleTesting {
public static void main(String[] args) {
boolean flag = false;
for (int i = 0; i < 5 && !flag; i++) {
System.out.println(i);
if (i == 3) {
System.out.println("loop break");
flag = true;
}
}
}
}
Producción :
0
1
2
3
loop break
Romper un bucle anidado utilizando una declaración return
en Java
La declaración return
en Java se utiliza para transmitir una respuesta al método de la persona que llama. Podemos usar una declaración return
en el bucle para romperlo. Es una alternativa de una declaración de break
, pero solo puede funcionar en determinados escenarios. Vea el ejemplo a continuación:
public class SimpleTesting {
public static void main(String[] args) {
boolean isStop = iterate();
if (isStop)
System.out.println("Loop stop");
else
System.out.println("Loop not stop");
}
static boolean iterate() {
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 5; j++) {
System.out.println(j);
if (i == 2) {
return true;
}
}
System.out.println();
}
return false;
}
}
Producción :
0
1
2
3
4
0
1
2
3
4
0
Loop stop