O que significa ? e : em java

Pessoal eu estava lendo o livro do Deitel Java como Programar quando me deparei com essa linha :

commissionRate = (rate  > 0.0 && rate < 1.0) ? rate : 0.0;

commissionRate é do tipo double, ja fiz pequenas leituras em outro livros de java e nunca encontrei nada assim, e nem na faculdade

gostaria de saber qual a função do ? e do :

Obrigado.

eh uma forma abreviada de se codificar um if else

ler se assim: se rate maior q 0.0 e rate menor q 1.0 entao commissionRate recebe rate senao commissionRate recebe 0.0

entendeu?

3 curtidas
commissionRate = (rate  &gt; 0.0 && rate &lt; 1.0) ? rate : 0.0;

equivale a:

if (rate  &gt; 0.0 && rate &lt; 1.0)
    commissionRate = rate;
else
    commissionRate = 0.0;

No Excel há uma função IF que faz a mesma coisa que o "?". Acho que em VB é IIF.

entendi pessoal valeu!

commissionRate = (rate  > 0.0 && rate < 1.0) ? rate : 0.0;

Isso se chama operador ternário, e é equivalente a:

if (rate  > 0.0 && rate < 1.0)  {
    commissionRate = rate;
} else {
    commissionRate = 0.0;
}
2 curtidas

Entre nesse site que ele explica pq usar ponto de interrogação.

http://imasters.uol.com.br/artigo/2831/postgresql/chamando_stored_procedures_do_postgresql_em_aplicacoes_java/

Flw

:smiley:

[quote=Castellon] Entre nesse site que ele explica pq usar ponto de interrogação.

http://imasters.uol.com.br/artigo/2831/postgresql/chamando_stored_procedures_do_postgresql_em_aplicacoes_java/

Flw

:smiley: [/quote]

Viajou no bd
xD

Ele esta falando do operador ternario não tem nada a ver com SQL.

[quote=Mark_Ameba][quote=Castellon] Entre nesse site que ele explica pq usar ponto de interrogação.

http://imasters.uol.com.br/artigo/2831/postgresql/chamando_stored_procedures_do_postgresql_em_aplicacoes_java/

Flw

:smiley: [/quote]

Viajou no bd
xD

Ele esta falando do operador ternario não tem nada a ver com SQL.[/quote]

É que na verdade foi a unica coisa que eu encontrei pra tentar explicar para ele, se vc chegou pelo menos no meio da página você viu que ele cita os pontos de interrogação e por que ele é utilizado.
Na minha opinião daria pelo menos uma ideia… :oops:

Mas o que importa é a intenção certo.!!! rs
:roll:

Ah…

Eu não to falando mal não… informação sempre é bom…
Mas pelo o que vi do que voce passou vi que era sobre StoredProcedures e a função do ponto de interrogação do SQL e do operador ternarario realmente é bem diferente.

E continue ajudando ^^