você está aqui: Home
→
Arquivo de Mensagens
Colaboração: Ricardo Takemura
Data de Publicação: 18 de março de 2019
Uma vez me perguntaram: como sair de dois loops dando um break?
Bem, eu sei que em Java é bem simples... É só dar um "labeling break":
public class Main { public static void main(String[] args) { saidaqui: for (int i = 0; i < Integer.MAX_VALUE; i++) { for (int j = 0; j < Integer.MAX_VALUE; j++) { System.out.println(i + ":" + j); if (j % 10 == 9) { break saidaqui; } } } } }
Com isso, quando o break executar, ele irá parar os dois loops (pois o label indica para ele sair do loop mais externo).
A mesma coisa pode ser feita em um loop/switch:
public class Main { public static void main(String[] args) { saidaqui: for (int i = 0; i < Integer.MAX_VALUE; i++) { switch (i) { case 9: System.out.println("Vai sair"); if (true) { break saidaqui; } break; default: System.out.println("Index: " + i); } } } }
Estranho, não?