Paulomv
#1
salve, salve
Estou lendo sobre Java, e me deparei com a seguinte linha do código:
[code]
//configura a quantidade de vendas brutas
public void setGrossSales ( double sales ){
grossSales = ( sales < 0.0 ) ? 0.0 : sales;
}[/code]
gostaria de entender o que este “?” faz, qual é a função dele… sei que é uma pergunta boba, maaaasssssss estou iniciando do “ZERO”.
pmlm
#2
Isso é o chamado operador ternário e funciona como um if que devolve sempre um valor.
A parte antes do ? é a condição que é avaliada. Depois vem o que é devolvido se a condição é true antes dos : e depois o valor se a condição é false.
No teu caso, é o mesmo que ter:
public void setGrossSales ( double sales ){
if (sales < 0.0){
grossSales = 0.0;
} else {
grossSales = sales;
}
}
Paulomv
#3
[quote=pmlm]Isso é o chamado operador ternário e funciona como um if que devolve sempre um valor.
A parte antes do ? é a condição que é avaliada. Depois vem o que é devolvido se a condição é true antes dos : e depois o valor se a condição é false.
No teu caso, é o mesmo que ter:
public void setGrossSales ( double sales ){
if (sales < 0.0){
grossSales = 0.0;
} else {
grossSales = sales;
}
}
[/quote]
Terei que revisar a leitura sobre operadores ternários.
Muito obrigado, pela explicação!