Mas depois fui ver … o java considera a ordem seguinte para ponto flutuante…
-Infinity => FraçõesNegativas(-1.3) => -0.0 => +0.0 => FraçõesPositivas(1.4) => Infinity
Agora… na comparação (-0.0 == 0.0) retorna true … Isso é lógico.
Mas não sabia que tinha essa ordem … e por isso ele o Math.min e o Math.max, verifica esses valores nessa ordem , retornando de acordo…
Schuenemann
concordo com sua lógica! apezar que na minha deveria retornar 0.0 para qualquer comparação! No meu entendimento qualquer expressão que retorna " -0.0 " é no minímo estranho, sendo que matemáticamente 0 é um número de sinal nulo!
É por isso que dizem que um certificado SCJP não é necessáriamente um excelente programador JAVA, mas necessáriamente conhece as Obscuridades do JAVA hehe
[quote=“sens”]Schuenemann
concordo com sua lógica! apezar que na minha deveria retornar 0.0 para qualquer comparação! No meu entendimento qualquer expressão que retorna " -0.0 " é no minímo estranho, sendo que matemáticamente 0 é um número de sinal nulo!
É por isso que dizem que um certificado SCJP não é necessáriamente um excelente programador JAVA, mas necessáriamente conhece as Obscuridades do JAVA hehe
essa é mais uma delas…[/quote]
Caro Sens, é por isso que existe a SCJP, são esses detalhes que podem
fazer a diferença, entre alguém que acha que sabe JAVA, e os que sabem realmente.
Você assim como eu, e outros que estão estudando pra conhecer esses
detalhes da linguagem que irá fazer o diferencial.
Observe, que a SCJP, prova que você conhece esses detalhes da linguagem, ser ou não bom programador ela não prova.
É lógico que essa relação do 0 ter sinal , não tem muito sentindo , porque
você , assim como eu, estamos acostumados com uma certa lógica.
É isso, não esqueça, a Certificação nos mostrará essas grandes curiosidades do JAVA!
Eu quero ver ela mostrar meu salário inchar.[/quote]
Meu caro, se es o que tu esperas, entaum desista da certificação. Ela só te garante (e olhe lá) não ficar desempregado. É ai que entra o papel do bom programador. Eu conheço um cara que programa em Delphi que ganha R$ 2000,00 e trabalha 6 horas por dia! e ele num é analista não, é somente técnico (programador puro). BOm mas isso é uma outra discurção
Eu não falei sério
Ainda que fosse assim, somente a SCJP seria muito pouco.
Falei isso porque ele disse:
E pensei comigo: “e desde quando me importo com essas curiosidades do java?”
Como alguém por aqui falou: “Hoje a certificação é um diferencial. Amanhã, será uma exigência. Vou esperar esse dia chegar pra correr atrás do tempo perdido?”
[quote=“Schuenemann”]
Eu não creio que um dia eu terei problemas com o uso de -0.0 e +0.0[/quote]
É bem díficil, mas ninguém sabe o dia do amanhã!
E outra coisa, saber disso não quer dizer que você vá colocar no seu código essas maluquices… mas você pode dar manutenção em códigos
de terceiro que tenha… ou você pode prever que se escrever isso pode
resultar em runtime, ou não pode … etc…
Eu mesmo não gosto de programar usando instruções rotuladas, com break e continue , mas se um dia precisar … ou vir em algum código,
vou estar familiarizado com aquilo …
São esses pequenos detalhes que volto a dizer aqui que faz a diferença!