Oi pessoal, outro dia eu vi um código java assim:
(item == item) ? condicao1 : condicao2;
só que não lembro como que é a sintaxe dele
no caso, como que se escreve ele no programa. Como eu tenho que faze-lo?
uma ajuda rapida plz ^^
brigadão
Oi pessoal, outro dia eu vi um código java assim:
(item == item) ? condicao1 : condicao2;
só que não lembro como que é a sintaxe dele
no caso, como que se escreve ele no programa. Como eu tenho que faze-lo?
uma ajuda rapida plz ^^
brigadão
[quote=andre.froes]Oi pessoal, outro dia eu vi um código java assim:
(item == item) ? condicao1 : condicao2;
só que não lembro como que é a sintaxe dele
[/quote]
Isso é o operador ternário.(procure no google)
A sintaxe é :
condição logica ? resultado_se_verdadeiro : resultado_se_falso
Exemplo
public String oddOrEven(int i){
return i % 2 == 0 ? "PAR" : "IMPAR";
}
Deve ser usado sempre que usar return e um if.
O exemplo anterior seria normalmente (e erradamente) escrito como :
public String oddOrEven(int i){
if ( i % 2 == 0){
return "PAR";
} else {
return "IMPAR";
}
}
Evite o segundo tipo de codigo e use o operador ternário.
[quote=andre.froes]Oi pessoal, outro dia eu vi um código java assim:
(item == item) ? condicao1 : condicao2;
só que não lembro como que é a sintaxe dele
no caso, como que se escreve ele no programa. Como eu tenho que faze-lo?
uma ajuda rapida plz ^^
brigadão[/quote]
[code]item3 = (item == item2) ? resultado se verdadeiro; : resultado se falso;
// é a mesma coisa que:
if (item == item2)
item3 = resultado se verdadeiro;
else
item3 = resultado se falso;
[/code]
Jovem, sua dúvida é em relação ao operador ternário?? ele funciona semelhante a um if
(varClienteNome == varComparacao)? "É IGUAL" : "DIFERENTES"
//se esta condição for verdadeira o 1º valor é apresentado, senão...
Vlw d+ pessoal, essa era a minha dúvida, ja sei como utiliza-lo agora.
Abraços
Só um detalhe. O operador ternário:
Portanto, esse if não poderia ser subtituido:
if (i % == 2)
fazUmaCoisa();
else
fazOutraCoisa();
Já que os métodos não retornam valor.
Esse código pode dar problemas.
O java tentará converter o segundo parâmetro para int (tipo do primeiro).
[code]
int x = 10;
float y = 20.3f;
double k = x < 3 ? x : y;[/code]