Laço de repetição While

Me expliquem sobre o laço While, de maneira que leve a um rápido entendimento, por favor.

http://www.tiexpert.net/programacao/java/while.php

While é uma estrutura de repetição.

While executa uma comparação com a variável. Se a comparação for verdadeira, ele executa o bloco de instruções ( { } ) ou apenas a próxima linha de código logo abaixo.

Procedemos da seguinte maneira:

WHILE (comparação)

O problema com estruturas de repetição, principalmente com while, é o que chamamos de looping infinito. Damos esse nome ao fato de que o programa fica repetindo a mesma sequência de códigos esperando por um resultado que nunca irá acontecer.

Portanto, é imprescindível que uma determinada variável seja modificada de acordo com cada loop. Veja o exemplo

public class ExemploWhile {
public static void main(String args[]) {
int contador = 0;
while (contador < 50) {
System.out.println("Repetição nr: " + contador);
contador++;
}
}
}

Como podemos ver, existe a variável contador que é iniciada valendo 0, a cada loop executado (repetição) é somado 1 ao contador. Perceba que o while irá manter a repetição enquanto a variável contador for menor que 50.

Outro ponto importante é que a variável contador é inicializada antes de chegar ao while, porque o while irá comparar a sentença e só depois permitirá a execução do bloco. Se quisermos fazer todo o bloco primeiro e só depois fazer a comparação, devemos utilizar o comando DO WHILE
DO WHILE

DO WHILE é uma estrutura de repetição, tal como o próprio while. A principal diferença entre os dois é que DO WHILE irá fazer a comparação apenas no final do bloco de código, sendo representado da seguinte forma:

DO { código } WHILE (comparação);

Neste caso, devemos ter as mesmas precauções quanto while, no que diz respeito a looping infinito. Mas não é necessário inicializar a variável antes do bloco de código como acontece com while, pois a comparação só será feita após todo o código ter sido executado.

1 curtida

Funciona assim:

enquanto a condição for verdadeira {
    executa as instruções
}

Abner,

Podemos realizar o incremento do contador na comparação do While, como nos exemplos abaixo.

public class UsoWhile {
    public UsoWhile() {
        int i=0;
        while (++i < 50) {
            System.out.println(i);
        }
    }
}

public class UsoWhile {
    public UsoWhile() {
        int i=0;
        while (i++ < 50) {
            System.out.println(i);
        }
    }
}

public class UsoWhile {
    public UsoWhile() {
        int i=(-1);
        while (i++ < 50) {
            System.out.println(i);
        }
    }
}
1 curtida