Em Java, a estrutura de repetição que permite que um conjunto de instruções não seja executada nenhuma vez é representada por
- A)while.
Certa: o while testa a condição antes de executar o bloco, então pode não rodar nenhuma vez.
- B)switch.
Errada: switch é estrutura de seleção, não de repetição.
- C)do...while.
Errada: do...while executa ao menos uma vez antes de testar a condição.
- D)case.
Errada: case é rótulo usado dentro do switch, não laço de repetição.
- E)continue.
Errada: continue é comando de controle de fluxo dentro de laços, não uma estrutura de repetição.
Gabarito: A
Em Java, se a ideia da questão é uma estrutura de repetição que pode não executar nenhuma vez, você deve pensar nas estruturas que testam a condição antes de entrar no bloco. Isso acontece com o while: primeiro verifica, depois executa. Se a condição já começar falsa, o laço simplesmente passa reto e não roda nada. É por isso que o gabarito é a letra A. O while é o clássico do "só entra se puder". Se a condição não se sustenta logo de saída, o bloco nem chega a ser executado. Em prova, essa é a diferença que mais cai quando comparada ao do...while. Já o do...while faz o oposto: ele executa pelo menos uma vez e só depois confere a condição. Então ele nunca será a resposta quando a banca fala em possibilidade de executar zero vezes. É uma pegadinha bem comum em questões de controle de fluxo. As outras alternativas nem são estruturas de repetição nesse sentido. switch e case servem para seleção de caminho, e continue apenas altera o fluxo dentro de laços, pulando para a próxima iteração. Ou seja: aqui a banca quer que você reconheça o laço de teste no início.