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.

Dicas de Programação - Saindo de dois loops (for, for) em Java

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?

Adicionar comentário

* Campos obrigatórios
5000
Powered by Commentics

Comentários

Nenhum comentário ainda. Seja o primeiro!


Veja a relação completa dos artigos de Ricardo Takemura