Analise o código Java a seguir.public class Main {     pub...

Próximas questões
Com base no mesmo assunto
Q2249334 Programação
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
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Alternativa correta: B - 2.

A questão aborda o entendimento do funcionamento dos comandos de controle de fluxo break e continue em um laço de repetição, mais especificamente em um loop for na linguagem de programação Java. Para resolver esta questão, é necessário compreender o seguinte:

  • O comando break é utilizado para interromper a execução de um laço de repetição imediatamente. Após invocado, o programa continua executando a partir da primeira instrução após o bloco do laço.
  • O comando continue é utilizado para pular a execução da iteração atual de um laço e continuar com a próxima iteração.
  • Operadores de comparação, como ==, são usados para comparar valores.
  • O operador módulo % é utilizado para obter o resto da divisão de um número por outro.

No código fornecido, temos um loop for que se inicia com i = 0 e se repete enquanto i <= 10, com i incrementado em 1 a cada iteração. Dentro do loop, há uma condição que verifica se i é igual a 4 (i == 4). Se for verdade, o comando break é executado, o que fará com que o loop termine imediatamente. Existe outra condição que verifica se i é um número par, usando i % 2 == 0, e em caso positivo, executa o comando continue, pulando para a próxima iteração do loop sem executar as linhas de código abaixo.

A linha de código System.out.println(i); só será executada quando i não for par e quando i não for igual a 4. Ao analisar o loop, vemos que para os valores de i iguais a 0, 2 e 4, o programa executará o continue ou break. Já nos valores 1 e 3, o System.out.println(i); será executado, imprimindo esses números. Portanto, serão exibidos apenas dois valores antes do loop ser interrompido pelo comando break quando i for igual a 4.

Portanto, a quantidade de valores exibidos na execução desse código é 2, o que faz da alternativa B a resposta correta.

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo

Comentários

Veja os comentários dos nossos alunos

Todos os numero pares* menores que 4

Esse código só irá exibir os números 1 e 3, ou seja, alternativa B.

David, 1 e 3? o i%2==0 garante que só sejam considerados números pares por o resto da divisão tem que zero. No caso só serão impressos 0 e 2, já que no 4 há o break.

Somente serão exibidos os valores 1 e 3. Quando i valer 0 e 2 atenderá a condição else if (i % 2 == 0) que verifica o resultado do módulo e assim executa a instrução continue.

O continue faz com que em uma estrutura de repetição como o for, as demais instruções que vierem a seguir sejam ignoradas e ele retome ao ponto de incremento e comparação de limite.

Quando o i valer 4, a condição do if (i == 4) será atendida e a execução da estrutura de repetição será finalizada.

Resumindo: os resultados 0 e 2 não serão exibidos.

Resposta correta: 2 números apenas serão exibidos (1 e 3).

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);

       }

   }

}

Java Break and Continue

https://www.w3schools.com/java/java_break.asp

Como que o comentário do Rafael é o mais votado?

O else if (i % 2 == 0) tem um continue, somente. O que significa que os números que suprem essa condição não chegarão a imprimir na tela, pulando somente para a próxima iteração.

A execução seria:

i = 0. pula

i = 1. imprime

i = 2. pula

i = 3. imprime

i = 4. break

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo