Quebrar Loops Aninhados em Java

Mohammad Irfan 12 outubro 2023
  1. Quebre o loop interno usando uma instrução break em Java
  2. Quebrar um loop aninhado usando uma instrução break com um rótulo em Java
  3. Quebrar um loop aninhado usando uma instrução break em Java
  4. Quebrar um loop aninhado usando uma variável flag em Java
  5. Quebrar um loop aninhado usando uma instrução return em Java
Quebrar Loops Aninhados em Java

Este tutorial apresenta maneiras de quebrar loops aninhados em Java. Incluímos alguns programas de exemplo que você pode seguir como guia.

Um loop é uma técnica que nos permite repetir qualquer instrução de código em qualquer número de vezes, dependendo da condição fornecida. Java suporta vários tipos de loops como o loop while, loop do-while, loop for e loop for-each. Podemos aninhar esses loops também.

Neste artigo, você aprenderá como quebrar um loop aninhado em Java. Existem várias maneiras de quebrar um loop aninhado; isso inclui o uso de instruções break e return. Continue a ler para saber mais!

Quebre o loop interno usando uma instrução break em Java

Se você quiser quebrar um loop, pode usar a instrução break. Esta instrução quebraria o loop interno apenas se você aplicasse no loop interno. Veja como você pode fazer isso:

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();
    }
  }
}

Resultado:

0
1
2
3
4

0
1
2
3
4

0
loop break

0
1
2
3
4

0
1
2
3
4

Quebrar um loop aninhado usando uma instrução break com um rótulo em Java

Se você quiser quebrar todos os loops, tanto internos quanto externos, você pode usar um rótulo com uma instrução break que cortará todos os loops e moverá o controle para o loop externo. Veja o exemplo abaixo:

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();
    }
  }
}

Resultado:

0
1
2
3
4

0
1
2
3
4

0
loop break

Quebrar um loop aninhado usando uma instrução break em Java

Um loop pode ser dos tipos while, for ou for-each, e podemos usar uma instrução break em qualquer um desses loops. Neste exemplo, estamos usando um loop while e interrompendo seu fluxo usando uma instrução break. Veja o exemplo abaixo:

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++;
    }
  }
}

Resultado:

0
1
2
3
4

0
1
2
3
4

0
loop break

Quebrar um loop aninhado usando uma variável flag em Java

Este método apresenta outro cenário em que estamos usando uma variável na condição de loop; quando a condição é atendida, o loop é interrompido. Este código é bom se você não quiser usar uma instrução break. Esse processo também é melhor porque torna o código mais legível. Siga o bloco de código abaixo:

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;
      }
    }
  }
}

Resultado:

0
1
2
3
loop break

Quebrar um loop aninhado usando uma instrução return em Java

A instrução return em Java é usada para transmitir uma resposta de volta ao método do chamador. Podemos usar uma instrução return no loop para interrompê-lo. É uma alternativa de uma instrução break, mas só pode funcionar em determinados cenários. Veja o exemplo abaixo:

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;
  }
}

Resultado:

0
1
2
3
4

0
1
2
3
4

0
Loop stop

Artigo relacionado - Java Loop