Nan i Java

Nan i Java

I Java kan det være situasjoner der det er behov for å avstå fra “Nan”Verdier. Mer spesifikt, mens du håndterer søppelverdier eller matematiske beregninger som akkumulerer unødvendig minne. I slike tilfeller er "nan" i Java til stor hjelp i å sjekke for et gyldig nummer og administrere minnet effektivt.

Denne artikkelen vil demonstrere bruken og forekomsten av “Nan” i Java.

Hva er "nan" i java?

Nan (ikke et tall)”I Java er en spesiell flytende punktverdi som refererer til feil. Det tilsvarer vanligvis resultatet av ugyldige operasjoner. For eksempel å dele null med null, dele et flytende punkttall med null, eller ta kvadratroten til et negativt tall osv.

Eksempel 1: Operasjoner som fører til “Nan” i Java

I dette eksemplet resulterer beregningene i "Nan”Utfall kan implementeres:

offentlig klasse nan
public static void main (String [] args)
System.ute.println ("null med null:" +0.0 /0.0);
System.ute.println ("mod med null:" +10.0 % 0);
System.ute.println ("firkantet rot av -1:" + matematikk.sqrt (-1));
System.ute.Println ("Logg på -1:" + Matematikk.log (-1));


I kodelinjene, del null med null, ta "mod”Med null, og returner“kvadratrot”Og“Logg”Av henholdsvis et negativt tall. Alle disse beregningene fører til en "Nan”Resultat.

Produksjon


I outputten kan man se at alle beregningene gir "Nan", som et resultat.

Eksempel 2: Sammenligning av “NAN” -verdier i Java

I dette spesielle eksemplet "Nan”Verdier som tilsvarer forskjellige klasser kan sammenlignes. Før du fortsetter til eksemplet, bør du vurdere følgende punkter:

    • Sammenligningsoperatørene “<”,“<=”,”>”, Og“> =”Gå alltid tilbake”falsk”Hvis en eller begge operandene er“ Nan ”.
    • Likestillingoperatøren “==”Returnerer”falsk”Hvis en av operandene er nan.
    • Ulikhetsoperatøren “!=”Returnerer”ekte”Hvis en av operandene er nan .

La oss nå gå videre til følgende kodelinjer:

offentlig klasse nan2
public static void main (String [] args)
System.ute.Println (Float.Nan != Float.Nan);
System.ute.Println (Float.Nan == Float.Nan);
System.ute.Println (Float.Nan < Float.NaN);
System.ute.Println (Float.Nan <= Float.NaN);
System.ute.Println (Float.Nan> = float.Nan);
System.ute.Println (dobbelt.Nan != Dobbelt.Nan);
System.ute.Println (dobbelt.Nan == dobbelt.Nan);
System.ute.Println (dobbelt.Nan> dobbelt.Nan);
System.ute.Println (dobbelt.Nan <= Double.NaN);
System.ute.Println (dobbelt.Nan> = dobbelt.Nan);


I dette kodebiten, spesifiser “Flyte.Nan”Og“Dobbelt.Nan”For de konstante feltene i begge klasser, henholdsvis for å utføre sammenligningene. Merk at sammenligningen gjøres basert på de diskuterte spesifiserte forholdene og det tilsvarende boolske utfallet returneres.

Produksjon


I dette utfallet kan det analyseres at bare sammenligningen med "!=”Operatøren returnerte utfallet”ekte”I begge klasser deretter.

Konklusjon

Nan (ikke et tall)”I Java tilsvarer vanligvis resultatet av ugyldige operasjoner som å dele null med null, dele et flytende punktnummer med null, eller ta kvadratroten til et negativt tall osv. Denne bloggen diskuterte bruken og implementeringen av “Nan”I Java.