Nan w Javie

Nan w Javie

W Javie mogą wystąpić sytuacje, w których istnieje potrzeba powstrzymania się od „Nan”Wartości. Mówiąc dokładniej, zajmując się wartościami śmieci lub obliczeniami matematycznymi gromadzącymi niepotrzebną pamięcią. W takich przypadkach „NAN” w Javie jest bardzo pomocne w sprawdzaniu prawidłowego numeru i skutecznego zarządzania pamięcią.

Ten artykuł pokaże użycie i występowanie „NAN” w Javie.

Co to jest „Nan” w Javie?

"Nan (nie liczba)„W Javie to specjalna wartość zmiennoprzecinkowa odnosząca się do błędów. Zwykle odpowiada wyniku nieprawidłowych operacji. Na przykład dzielenie zeru przez zero, dzielenie liczby zmiennoprzecinkowej przez zero lub przyjmowanie pierwiastka kwadratowego liczby ujemnej itp.

Przykład 1: Operacje prowadzące do „NAN” w Javie

W tym przykładzie obliczenia powodujące „Nan„Wynik można wdrożyć:

Klasa publiczna nan
public static void main (string [] args)
System.na zewnątrz.println („zero po zero:” +0.0/0.0);
System.na zewnątrz.println („Mod by Zero:” +10.0 % 0);
System.na zewnątrz.println („pierwiastek kwadratowy -1:” + matematyka.sqrt (-1));
System.na zewnątrz.println („dziennik -1:” + matematyka.log (-1));


W powyższych wierszach kodu podziel zero przez zero, weź „mod”O zero i zwróć„pierwiastek kwadratowy" I "dziennik”Odpowiednio liczby ujemnej. Wszystkie te obliczenia prowadzą do „Nan" wynik.

Wyjście


W powyższym wyjściu można zauważyć, że wszystkie obliczenia dają „dają” „Nan", w rezultacie.

Przykład 2: Porównanie wartości „NAN” w Javie

W tym konkretnym przykładzie „Nan”Wartości odpowiadające różnym klasom można porównać. Przed przejściem do przykładu rozważ następujące punkty:

    • Operatorzy porównawcze „<”,„<=”,”>", I "> =„Zawsze wracaj”FAŁSZ”Jeśli jedno lub oba operandy są„ nan ”.
    • Operator równości „==" zwroty "FAŁSZ„Jeśli którykolwiek z operandów jest NAN.
    • Operator nierówności „!=" zwroty "PRAWDA„Jeśli którykolwiek z operandów jest NAN .

Teraz przejdźmy do następujących wierszy kodu:

klasa publiczna NAN2
public static void main (string [] args)
System.na zewnątrz.println (float.Nan != Float.Nan);
System.na zewnątrz.println (float.Nan == float.Nan);
System.na zewnątrz.println (float.Nan < Float.NaN);
System.na zewnątrz.println (float.Nan <= Float.NaN);
System.na zewnątrz.println (float.Nan> = float.Nan);
System.na zewnątrz.println (podwójne.Nan != Podwójne.Nan);
System.na zewnątrz.println (podwójne.Nan == podwójne.Nan);
System.na zewnątrz.println (podwójne.Nan> podwójne.Nan);
System.na zewnątrz.println (podwójne.Nan <= Double.NaN);
System.na zewnątrz.println (podwójne.Nan> = podwójny.Nan);


W tym fragmencie kodu określ „Platforma.Nan" I "Podwójnie.Nan„Dla stałych pola odpowiednio w obu klasach, aby dokonać porównań. Należy zauważyć, że porównanie jest dokonywane na podstawie omawianych określonych warunków i zwracany jest odpowiedni wynik logiczny.

Wyjście


W tym wyniku można przeanalizować, że tylko porównanie z „!=„Operator zwrócił wynik”PRAWDA”Odpowiednio w obu klasach.

Wniosek

"Nan (nie liczba)”W Javie zwykle odpowiada wyniku nieprawidłowych operacji, takich jak podzielenie zero przez zero, dzieląc liczbę zmiennoprzecinkową przez zero lub pobieranie pierwiastka kwadratowego liczby ujemnej itp. Ten blog omówił użycie i wdrożenie „Nan„W Javie.