[ RESOLVIDO ] Duvida - trecho do código

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”.

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=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!