Questão 35 · Informática: Programação e algoritmos
Analise o trecho de código Java mostrado a seguir. if (aNumber >= 0) if (aNumber == 0)
System.out.println("primeira string"); else System.out.println("segunda string"); System.out.println("terceira string"); Assinale a opção que indica o resultado quando aNumber for igual a 3.
- A) "primeira string"
- B) "segunda string"
- C) "terceira string"
- D) "primeira string" "terceira string"
- E) "segunda string" "terceira string"
Marque a alternativa correta:
Gabarito: E
Gabarito definitivo divulgado pela banca FGV (CM Caruaru 2015).
Comentário
Gabarito: E.
Em Java, um else se associa ao if mais próximo. Aqui, o primeiro if (aNumber >= 0) não tem else; o else pertence ao if interno (aNumber == 0). Com aNumber = 3, a condição externa é verdadeira (3 >= 0), e a interna é falsa. Por isso, o else interno é executado e imprime "segunda string". A instrução seguinte, System.out.println("terceira string"), não faz parte do if, pois está depois do ponto e vírgula, e por isso é executada sempre. A saída é, portanto, "segunda string" seguida de "terceira string", alternativa E.
Por que as outras estão erradas:
- (A) "primeira string" só seria impressa se aNumber fosse igual a 0.
- (B) mostra apenas a segunda string e deixa de fora a terceira, que é executada sempre.
- (C) mostra apenas a terceira string e deixa de fora a segunda, que é a saída do else interno.
- (D) inclui a primeira string, que só seria impressa se aNumber fosse igual a 0.
Dica de prova: em if aninhado sem chaves, o else pertence ao if mais próximo, e apenas a instrução seguinte ao if é condicional. A banca usa essa armadilha para confundir quem se guia pela indentação, que não define escopo em Java.
Fundamentos: if aninhado e else pendente em Java · escopo de instruções sem chaves · rastreamento de condições
Comentário gerado pela Cravei IA a partir do enunciado e do gabarito definitivo divulgado pela banca, e conferido por uma verificação automática. A IA pode errar: o gabarito oficial sempre prevalece.
Fonte: prova FGV CM Caruaru 2015 (Informática), questão 35, com o gabarito definitivo da banca. Comentário: Equipe Cravei · como fazemos e revisamos.