1
resposta

While

O fato do while estar sem chaves quer dizer que só a linha seguinte roda, então o que se encontra dentro do bloco do "while" é só o a++? Já que tem um ponto e vírgula depois, isso quer dizer que ele é a próxima linha certo? Aí por isso o print depois funciona, pois ele está fora do loop?

1 resposta

Olá, Vitor.

Tudo bem?

Você está correto em sua análise. Quando o while não tem chaves {}, ele executa apenas a linha imediatamente seguinte a ele. No seu exemplo:

int a = 10;
while(a > 100) a++;
System.out.println(a);

O while(a > 100) a++; significa que o loop while vai continuar incrementando a enquanto a for maior que 100. Como a começa em 10, a condição a > 100 é falsa desde o início, então o corpo do while (que é apenas a++) nunca será executado.

Portanto, o System.out.println(a); será executado logo após o while, e como a nunca foi incrementado, ele ainda será 10. Logo, o programa compilará e imprimirá 10.

Espero ter ajudado e bons estudos!