NaN, Infinity - 1

"Hej, Amigo!"

"Idag ska jag berätta om några intressanta saker i Java."

" Infinity ."

I Java har dubbeltypen speciella värden för positiv oändlighet och negativ oändlighet . Ett positivt tal dividerat med 0,0 ger positiv oändlighet och ett negativt tal - negativ oändlighet .

Dessa begrepp representeras av speciella dubbla konstanter:

Koda Beskrivning
public static final double POSITIVE_INFINITY = 1.0 / 0.0;
Positiv oändlighet
public static final double NEGATIVE_INFINITY = -1.0 / 0.0;
Negativ oändlighet

"Och det fungerar verkligen?"

"Ja. Titta på det här:"

Koda
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
Skärmutgång:
Infinity
Infinity
Infinity
-Infinity

"Det fungerar verkligen. Och om vi har tvetydighet? Till exempel om vi subtraherar oändlighet från oändlighet?"

"För detta har Java ett annat koncept: Not-a-Number ( NaN )."

"Det används i olika situationer:"

1)  Strängen konverteras till ett tal, men den innehåller bokstäver. Resultatet är NaN.

2) Oändlighet minus oändlighet. Resultatet är NaN.

3) Många andra situationer där vi förväntar oss ett antal, men vi slutar med något odefinierat.

"Så, vilka operationer kan du utföra med Infinity och NaN?"

"Med NaN är det väldigt enkelt. Alla operationer som involverar NaN resulterar i NaN."

"Och med oändligheten kan du göra följande:"

Uttryck Resultat
n ÷ ±Infinity
0
±Infinity × ±Infinity
±Oändlighet
±(something other than zero) ÷ 0
±Oändlighet
Infinity + Infinity
Oändlighet
±0 ÷ ±0
NaN
Infinity - Infinity
NaN
±Infinity ÷ ±Infinity
NaN
±Infinity × 0
NaN

"Det är vettigt. Tack, Rishi."