Analise o código Java a seguir. public class Main { public static void main(String[] args) { for (int i = 0; i <= 10; i++) { if (i == 4) { break; } else if (i % 2 == 0) { continue; } System.out.println(i); } } } A quantidade de valores que são exibidos na execução desse código é igual a
- A)0.
Errada, porque o código imprime 2 valores, e não zero.
- B)2.
Certa, pois apenas os valores 1 e 3 são exibidos antes de o break encerrar o laço no i = 4.
- C)3.
Errada, porque o 4 não chega a ser impresso, já que o break ocorre antes do println.
- D)5.
Errada, porque o continue elimina os pares e o break interrompe o laço cedo, então não há 5 saídas.
- E)9.
Errada, porque o laço não percorre todas as iterações até 10, já que é encerrado no i = 4.
Gabarito: B
Aqui a ideia central é entender duas instruções muito comuns em Java: break e continue. O break encerra o laço imediatamente, como se dissesse “chega, acabou”. Já o continue não encerra o laço, ele apenas pula a iteração atual e segue para a próxima volta do for. No código, o for começa em i = 0 e vai até 10, mas existe um detalhe importante: quando i chega a 4, o break interrompe tudo. Antes disso, os números pares caem no continue, então não são impressos. Assim, 0, 2 e 4 não aparecem na tela, e o laço para justamente quando i = 4. Os valores que realmente são exibidos são 1 e 3. O 1 passa direto e é impresso; o 2 é pulado pelo continue; o 3 também é impresso; quando chega no 4, o break encerra o laço antes de qualquer impressão. Resultado: apenas 2 valores aparecem na execução. Por isso, o gabarito é a alternativa B. A questão cobra leitura atenta do fluxo do laço, especialmente a diferença entre interromper o laço e apenas pular uma iteração.