Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Dúvida] Diferença entre while(true) e while(false)

Pessoal, boa tarde!

Procurei essa dúvida no histórico, mas não encontrei. Perdoem-me se já houver algo parecido. Estou fazendo treinamento Java JRE e JDK: compile e execute o seu programa e estou com dúvidas no exercício do item 3 da aula 7. Para melhor explicar, reproduzo o exercício abaixo:

================================================================================================ package projeto;

public class Programa {

public static void main(String args[]) {

    while(false) {

        System.out.println(1);
    }
}

}

========================================================================================================================

Se eu executar o código acima com o valor while(true), o código entra em loop infinito e eu entendi o motivo disso. O que não entendi foi por qual motivo o código nem compila se eu executá-lo com o valor while(false).

Agradeço desde já.

2 respostas
solução!

Olá Thiago, tudo bem? O código não compila se o valor for false, pois o loop while só é executado se a condição for verdadeira. Portanto, se a condição é falsa, o loop nunca será executado, e o código dentro do loop não será executado. O compilador não gosta disso :)

Otávio, bom dia! Obrigado pelo retorno.