Considere a variável idade declarada no método main de uma classe Java, com a seguinte instrução: int idade = 12; Analise: I. System.out.println(idade < 18 ? "Menor de idade" : "Maior de idade"); II. if (idade < 18) { System.out.println("Menor de idade"); } else { System.out.println("Maior de idade"); } III. if (idade < 18) { System.out.println("Menor de idade"); } else if (idade >= 18) { System.out.println("Maior de idade"); } IV. switch (idade) { case < 18: System.out.println("Menor de idade"); break; case >= 18: System.out.println("Maior de idade"); } Contém uma instrução correta que exibirá na tela a frase "Menor de idade":
Questão
Considere a variável idade declarada no método main de uma classe Java, com a seguinte instrução: int idade = 12;
Analise: I. System.out.println(idade < 18 ? "Menor de idade" : "Maior de idade"); II. if (idade < 18) { System.out.println("Menor de idade"); } else { System.out.println("Maior de idade"); } III. if (idade < 18) { System.out.println("Menor de idade"); } else if (idade >= 18) { System.out.println("Maior de idade"); } IV. switch (idade) { case < 18: System.out.println("Menor de idade"); break; case >= 18: System.out.println("Maior de idade"); }
Contém uma instrução correta que exibirá na tela a frase "Menor de idade":
Alternativas
A) I, II, III e IV.
B) I, II e III, apenas.
C) II e III, apenas.
D) II, apenas.
E) I e III, apenas.
Explicação
Com , a condição é verdadeira, então qualquer estrutura válida que teste isso deve imprimir "Menor de idade".
I. Operador ternário
System.out.println(idade < 18 ? "Menor de idade" : "Maior de idade");
Como é verdadeiro, imprime "Menor de idade". Instrução correta.
II. if/else
if (idade < 18) {
System.out.println("Menor de idade");
} else {
System.out.println("Maior de idade");
}
Como é verdadeiro, executa o primeiro bloco e imprime "Menor de idade". Instrução correta.
III. if / else if
if (idade < 18) {
System.out.println("Menor de idade");
} else if (idade >= 18) {
System.out.println("Maior de idade");
}
Também é válida. Como a primeira condição é verdadeira, imprime "Menor de idade" e nem avalia o else if. Instrução correta.
IV. switch com casos relacionais
switch (idade) {
case < 18:
case >= 18:
}
Isso não é sintaxe válida em Java: case não aceita expressões relacionais como < 18 ou >= 18 (em switch tradicional, os rótulos case devem ser constantes compatíveis com o tipo do switch). Portanto, está incorreta.
Logo, as instruções corretas que exibem "Menor de idade" são I, II e III.
Alternativa correta: (B).