NaN, Infinity - 1

"Hej, Amigo!"

"I dag vil jeg fortælle dig om nogle interessante ting i Java."

" Uendelighed ."

I Java har dobbelttypen specielle værdier for positiv uendelighed og negativ uendelighed . Et positivt tal divideret med 0,0 giver positiv uendelighed , og et negativt tal - negativ uendelighed .

Disse begreber er repræsenteret af specielle dobbeltkonstanter:

Kode Beskrivelse
public static final double POSITIVE_INFINITY = 1.0 / 0.0;
Positiv uendelighed
public static final double NEGATIVE_INFINITY = -1.0 / 0.0;
Negativ uendelighed

"Og det virker virkelig?"

"Ja. Se her:"

Kode
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ærmudgang:
Infinity
Infinity
Infinity
-Infinity

"Det virker virkelig. Og hvis vi har tvetydighed? For eksempel hvis vi trækker uendelighed fra uendelighed?"

"Til dette har Java et andet koncept: Not-a-Number ( NaN )."

"Det bruges i forskellige situationer:"

1)  Strengen konverteres til et tal, men den indeholder bogstaver. Resultatet er NaN.

2) Uendelig minus uendelig. Resultatet er NaN.

3) Mange andre situationer, hvor vi forventer et tal, men vi ender med noget udefineret.

"Så, hvilke operationer kan du udføre med Infinity og NaN?"

"Med NaN er det meget enkelt. Enhver operation, der involverer NaN, resulterer i NaN."

"Og med uendelighed kan du gøre følgende:"

Udtryk Resultat
n ÷ ±Infinity
0
±Infinity × ±Infinity
±uendelighed
±(something other than zero) ÷ 0
±uendelighed
Infinity + Infinity
Uendelighed
±0 ÷ ±0
NaN
Infinity - Infinity
NaN
±Infinity ÷ ±Infinity
NaN
±Infinity × 0
NaN

"Det giver mening. Tak, Rishi."