"Olá, amigo!"
"Hoje vou falar sobre algumas coisas interessantes em Java."
" Infinito ."
Em Java, o tipo double tem valores especiais para infinito positivo e infinito negativo . Um número positivo dividido por 0,0 produz infinito positivo e um número negativo - infinito negativo .
Esses conceitos são representados por constantes duplas especiais:
Código | Descrição |
---|---|
|
infinito positivo |
|
infinito negativo |
"E isso realmente funciona?"
"Sim. Olhe para isto:"
double inf = Double.POSITIVE_INFINITY;
System.out.println(inf); // Infinity
System.out.println(inf + 1); // Infinity+1 == Infinity
System.out.println(inf + 10); // Infinity+10 == Infinity
System.out.println(inf * -1); // Equal to negative infinity
Double.NEGATIVE_INFINITY
Infinity
Infinity
Infinity
-Infinity
"Realmente funciona. E se tivermos ambigüidade? Por exemplo, se subtrairmos o infinito do infinito?"
"Para isso, o Java tem outro conceito: Not-a-Number ( NaN )."
"É usado em várias situações:"
1) A string está sendo convertida em um número, mas contém letras. O resultado é NaN.
2) Infinito menos infinito. O resultado é NaN.
3) Muitas outras situações em que esperamos um número, mas acabamos com algo indefinido.
"Então, quais operações você pode realizar com Infinity e NaN?"
"Com NaN é muito simples. Qualquer operação envolvendo NaN resulta em NaN."
"E com infinito, você pode fazer o seguinte:"
Expressão | Resultado |
---|---|
|
0 |
|
±infinito |
|
±infinito |
|
Infinidade |
|
NaN |
|
NaN |
|
NaN |
|
NaN |
"Isso faz sentido. Obrigado, Rishi."
GO TO FULL VERSION