Help Me,Please! Questao TestKiller - Q 223!

6 respostas
Thiago_da_Santa

Galera GUJ,

da uma olhada nessa questao…

String[] elements = {“for” , “tea” , “too” };
String first = (elements.length >; 0)? elements[0]:null;

A. Compilation fails
B. An exception is thrown at runtime
C. The variable first is set to null
D. The variable first set to elements[0]

A resposta é a letra D.

Mas , não estou entendo nadaaaaaaa dessa questao! ; primeiro o que o coringa(interrogacao) esta fazendo ali? e os :(dois pontos) ?
no Use a cabeca e o SCJP , não mencionam nada sobre isso…
Será que alguma pessoa de bem pode me ajuda nessa questao,no entendimento dela…
Quero entender a resolucao!
Abracao!!!

6 Respostas

mcbarsotti

(elements.length > 0) —> a condição
?
se a condição for verdadeira
:
se a condição for falsa

isso é a mesma coisa que

if (elements.length > 0)
se a condição for verdadeira
else
se a condição for falsa

Você está estudando para uma certificação, pq isso é basico de sintaxe, talvez sejá melhor vc dar uma estudada primeiro em estruturas condicionais do java.

abraços e boa sorte!

T

Olha só:

isso nada mais é que um if:

if (elements.length >0){ first = elements[0]; else first = null;

Se a condição elements.length > 0 for true first recebe o primeiro valor depois do ?, se a condição falhar first recebe null.
Sacou?

Thiago_da_Santa

Valeu galera…
Agora a tarde quando peguei o livro SCJP,abri bem na pagina de operador condicional…
Afff…foda… prova chegando,essa semana…
Ansiedade,nevorsismo…
Acabei esquecendo essa besteira…
valeu mesmo galera…

C

totalmente offtopic, mas sou obrigado a falar:
cara, tu vai fazer a prova e ainda não conhece a sintaxe do Java?
Velho, tu é muito macho…

Fabio_Kym_Nascimento

Esse é o famoso operador ternário, como muitos já disseram aqui ele faz as vezes de um if simples:

valor = condição ? : ;

No seu exemplo, a condição é o vetor ter no minimo 1 elemento, veja que os parenteses são opcionais:

String first = (elements.length) > 0 ? elements[0] : null; String first = elements.length > 0 ? elements[0] : null;

Acho vale a pena citar o seguinte: O operador ternário em Java retorna um valor (ou um objeto) que deve obrigatoriamente ser atribuído, estou citando isso porque na maioria das outras linguagens a atribuição não é obrigatória e eu sempre me ferro no Java por isso :stuck_out_tongue:

T

a resposta correta é D mesmo!

Criado 10 de novembro de 2008
Ultima resposta 11 de nov. de 2008
Respostas 6
Participantes 6