SóProvas


ID
661699
Banca
FCC
Órgão
TRE-CE
Ano
2012
Provas
Disciplina
Programação
Assuntos

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
Comentários
  • break; case>=18: System.out.println("Maior de idade");}

    erro acontece apos o  break;
  • O comentário anterior está equivocado.
    O bloco switch não adminite testes com faixas de valores, suas expressões case são baseadas em inteiros únicos, enums ou strings.
    Dessa forma o erro ocorre no primeiro teste case por causa do sinal <.

    An if-then-else statement can test expressions based on ranges of values or conditions, whereas a switch statement tests expressions based only on a single integer, enumerated value, or String object.
    http://docs.oracle.com/javase/tutorial/java/nutsandbolts/switch.html
  • Sera que alguem pode me ajudar com a primeira afirmacao? Nao conhecia essa sintaxe
    System.out.println (idade<18?"Menor de idade":"Maior de idade");
    Isso esta correto memo????
    Eu tinha marcado letra C....
  • So pra esclarecer: o ? em java é um if...
    booleano ?  true : false
  • Olá Frederick e Gunter,

    Essa sintaxe da instrução I é chamada de ternário, ela funciona da seguinte forma:

    Existe uma afirmação booleana antes do ? (no caso, "idade < 18"), caso seja verdadeira ela recebe a primeira opção "Menor de idade" e caso seja falsa recebe a segunda opção "Maior de idade"

    result = testCondition ? value1 : value2
    http://alvinalexander.com/java/edu/pj/pj010018
  •  IV. switch(idade) {case<18: System.out.println("Menor de idade"); break; case>=18: System.out.println("Maior de idade");}
    Case não aceita: > < >= <=...
  • A primeira assertiva refere-se ao operador ternário (que, como o nome diz, opera com 3 elementos).

    A sintaxe do operador ternário é:

    expressão booleana : (executa este bloco, se o resultado da expressão for true) : (executa este bloco, caso a expressão seja equivalente a false)

    Os valores retornados por esse operador podem ser utilizados em outras expressões. Ex.:

    String situacao = idade>=18 ?  "APTO A VOTAR" : "INAPTO PARA VOTAR";
    System.out.println(situacao);