Romper bucles anidados en Java

Mohammad Irfan 12 octubre 2023
  1. Romper el bucle interno utilizando una declaración break en Java
  2. Romper un bucle anidado utilizando una declaración break con una etiqueta en Java
  3. Romper un bucle anidado mediante una declaración break en Java
  4. Romper un bucle anidado utilizando una variable flag en Java
  5. Romper un bucle anidado utilizando una declaración return en Java
Romper bucles anidados en Java

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

Artículo relacionado - Java Loop