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!