while e do...while

Java

25/07/2015

Aparentemente funciona da mesma forma, pelo menos o mesmo resultado, só internamente que possui diferenças, existe a melhor solução para o uso do while, do...while? Qual?

Exemplo 1 - While:



import java.util.Scanner;

public class UsandoWhile {

    
    public static void main(String[] args) {
        
        Scanner entrada = new Scanner( System.in ); 
        
        System.out.println(" Digite 1 para sair ");
        int condicao = entrada.nextInt();
        
        while ( condicao != 1 ) {
            System.out.println("Você digitou o numero " + condicao);
            
            System.out.println(" Digite 1 para sair ");
            condicao = entrada.nextInt();
        }
        System.out.println(" Até logo ");
    }
    
}



Exemplo 2 - Do ... While:



import java.util.Scanner;

public class UsandoWhile {

    
    public static void main(String[] args) {
        
        Scanner entrada = new Scanner( System.in );
        
        int condicao = 0;
        
        do {            
            System.out.println(" Digite 1 para sair ");
            condicao = entrada.nextInt();
            System.out.println("Você digitou o numero " + condicao);
            
        } while ( condicao != 1 );
        
         System.out.println(" Até logo ");
    }   
}


Felipe Moreira

Felipe Moreira

Curtidas 2

Melhor post

Kennedy Oliveira

Kennedy Oliveira

29/07/2015

Não entendi exatamente o que você quer saber, porém, a diferença entre o uso dos dois é que no caso do do...while, ele verifica a condição ao FINAL da iteração, ou seja, executa todo o laço PELO MENOS 1 VEZ, pra depois validar, enquanto no while normal ele valida antes de entrar, então pode ser que execute n vezes ou nenhuma.

Tem casos em que é preciso executar a lógica pelo menos uma vez, pra depois verificar uma condição, estilo "faça isso e veja se a condição foi satisfeita, caso não, faça novamente".

Não sei se era exatamente isso que você queria saber, mas não tem a melhor forma, tem a que atende melhor o caso que você está tentando resolver, geralmente da pra escrever o mesmo algoritmo usando as duas formas, mas uma delas vai ser mais coerente do que a outra.
GOSTEI 4

Mais Respostas

Felipe Moreira

Felipe Moreira

25/07/2015

Era minha dificuldade em entender, mas pelo que escreveu ajuda bastante!
GOSTEI 0
Janaina Mendes

Janaina Mendes

25/07/2015

Um complemento ao que Kennedy disse:

[url]https://www.devmedia.com.br/while-e-do-while-lacos-de-repeticoes-estrutura-da-linguagem-parte-1/18870[/url]
GOSTEI 0
Carinhalegal

Carinhalegal

25/07/2015

Não te entendi rapaz.
GOSTEI 0
Felipe Moreira

Felipe Moreira

25/07/2015

??????????????
GOSTEI 0
Janaina Mendes

Janaina Mendes

25/07/2015

Aparece cada uma!!! Sei não viu!
GOSTEI 0
Ronaldo Lanhellas

Ronaldo Lanhellas

25/07/2015

Aparentemente funciona da mesma forma, pelo menos o mesmo resultado, só internamente que possui diferenças, existe a melhor solução para o uso do while, do...while? Qual?

Exemplo 1 - While:



import java.util.Scanner;

public class UsandoWhile {

    
    public static void main(String[] args) {
        
        Scanner entrada = new Scanner( System.in ); 
        
        System.out.println(" Digite 1 para sair ");
        int condicao = entrada.nextInt();
        
        while ( condicao != 1 ) {
            System.out.println("Você digitou o numero " + condicao);
            
            System.out.println(" Digite 1 para sair ");
            condicao = entrada.nextInt();
        }
        System.out.println(" Até logo ");
    }
    
}



Exemplo 2 - Do ... While:



import java.util.Scanner;

public class UsandoWhile {

    
    public static void main(String[] args) {
        
        Scanner entrada = new Scanner( System.in );
        
        int condicao = 0;
        
        do {            
            System.out.println(" Digite 1 para sair ");
            condicao = entrada.nextInt();
            System.out.println("Você digitou o numero " + condicao);
            
        } while ( condicao != 1 );
        
         System.out.println(" Até logo ");
    }   
}




Resumindo:

1) while - Usado para iterar enquanto aquela condição for verdadeira, podendo não ser executado NENHUMA VEZ.
2) do..while - Usado para iterar enquanto aquele condição for verdadeira, sendo que SEMPRE SERÁ EXECUTADO PELO MENOS 1 VEZ.
GOSTEI 0
Felipe Moreira

Felipe Moreira

25/07/2015

Boa tarde Ronaldo, obrigado pela ajuda tambem, nenhuma informação extra por mim não será descartada! Ler as varias formas entendimento me é util!
GOSTEI 0
Ronaldo Lanhellas

Ronaldo Lanhellas

25/07/2015

Boa tarde Ronaldo, obrigado pela ajuda tambem, nenhuma informação extra por mim não será descartada! Ler as varias formas entendimento me é util!



Correto, bons estudos.
GOSTEI 0
Felipe Moreira

Felipe Moreira

25/07/2015

Obrigado!
GOSTEI 0
POSTAR