3
respostas

Gostaria de entender como funciona o comando break.

Boa tarde!!

Eu entendi que o comando break ele interrompe o looping de repetição mais próximo e mais interno, mas gostaria de ler isso como fica na prática, com outras palavras.

Alguém teria no mínimo 2 exemplos para me dar?

Ou poderia explicar de uma outra maneira para que eu pudesse entender melhor.

Desde já agradeço.

3 respostas

Boa tarde,

O break interrompe a execucao do bloco de codigo interno ao loop, geralmente e feito mediante uma condicional. Exemplo:

//Java Program to demonstrate the use of break statement    
//inside the for loop.  
public class BreakExample {  
    public static void main(String[] args) {  
        //using for loop  
        for(int i=1;i<=10;i++){  
            if(i==5){  
                //breaking the loop  
                break;  
            }  
            System.out.println(i);  
        }  
    }  
}  

Caso tiver loops aninhados, do nivel mais interno sera interrompido a iteracao conforme a condicional envolvendo ambos loops, entao esse break ira desviar o fluxo de execucao para fora desses blocos aninhados, partindo do bloco mais interno que ira tratar o valor do bloco mais externo.

public class BreakExample2 {  
    public static void main(String[] args) {  
            //outer loop   
            for(int i=1;i<=3;i++){    
                    //inner loop  
                    for(int j=1;j<=3;j++){    
                        if(i==2&&j==2){    
                            //using break statement inside the inner loop  
                            break;    
                        }    
                        System.out.println(i+" "+j);    
                    }    
            }    
    }  
}  

Fonte: https://www.javatpoint.com/java-break

No caso do segundo exemplo o break irá parar apenas o segundo for que está dentro do escopo onde ele está localizado? Que é o mais interno e irá tratar apenas o primeiro loop que é externo. Seria isso?

Utilizando o exemplo 2 do amigo...

public class BreakExample2 {  
    public static void main(String[] args) {  
            //primeiro loop   
            for(int i=1;i<=3;i++) //  **AQUI**
            { 
                    // segundo loop
                    for(int j=1;j<=3;j++){    
                        if(i==2&&j==2){     
                            break;    // ao cair no break ele ira sair do loop 2 pulando para o **AQUI**
                        }    
                        System.out.println(i+" "+j);    
                    }    
            }    
    }  
}  

Espero ter ajudado.