De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.
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?