« Salut Amigo ! »
"Aujourd'hui, je vais vous parler de choses intéressantes à Java."
« Infini ».
En Java, le type double a des valeurs spéciales pour l'infini positif et l'infini négatif . Un nombre positif divisé par 0,0 donne l'infini positif et un nombre négatif — l'infini négatif .
Ces concepts sont représentés par des constantes Double spéciales :
Code | Description |
---|---|
|
Infini positif |
|
Infini négatif |
« Et ça marche vraiment ?
"Oui. Regarde ça :"
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
"Ça marche vraiment. Et s'il y a ambiguïté ? Par exemple, si on soustrait l'infini de l'infini ?"
"Pour cela, Java a un autre concept : Not-a-Number ( NaN )."
"Il est utilisé dans diverses situations :"
1) La chaîne est convertie en nombre, mais elle contient des lettres. Le résultat est NaN.
2) Infini moins infini. Le résultat est NaN.
3) Beaucoup d'autres situations où nous attendons un nombre, mais nous nous retrouvons avec quelque chose d'indéfini.
« Alors, quelles opérations pouvez-vous effectuer avec Infinity et NaN ? »
"Avec NaN, c'est très simple. Toute opération impliquant NaN donne NaN."
"Et avec l'infini, vous pouvez faire ce qui suit :"
Expression | Résultat |
---|---|
|
0 |
|
±Infini |
|
±Infini |
|
Infini |
|
NaN |
|
NaN |
|
NaN |
|
NaN |
"C'est logique. Merci, Rishi."
GO TO FULL VERSION