Nan in Java

Nan in Java

In Java, ci possono essere situazioni in cui è necessario astenersi dal "Nan" valori. Più specificamente, mentre si tratta di valori di immondizia o calcoli matematici che accumulano memoria inutile. In tali casi, "NAN" in Java è di grande aiuto nel verificare un numero valido e nella gestione della memoria in modo efficace.

Questo articolo dimostrerà l'uso e la presenza di "nan" in Java.

Cos'è "nan" in java?

"Nan (non un numero)"In Java è uno speciale valore di punto galleggiante che si riferisce agli errori. Di solito corrisponde all'esito di operazioni non valide. Ad esempio, dividere zero per zero, dividere un numero di punto galleggiante per zero o prendere la radice quadrata di un numero negativo, ecc.

Esempio 1: operazioni che portano a "nan" in java

In questo esempio, i calcoli risultanti in "Nan"Il risultato può essere implementato:

classe pubblica nan
public static void main (string [] args)
Sistema.fuori.println ("zero di zero:" +0.0 /0.0);
Sistema.fuori.println ("mod by zero:" +10.0 % 0);
Sistema.fuori.println ("radice quadrata di -1:" + matematica.sqrt (-1));
Sistema.fuori.println ("log di -1:" + matematica.log (-1));


Nelle righe di codice sopra, dividi zero per zero, prendi "mod"Di zero e restituire il"radice quadrata" E "tronco d'albero"Di un numero negativo, rispettivamente. Tutti questi calcoli portano a "Nan" risultato.

Produzione


Nell'output di cui sopra, si può vedere che tutti i calcoli producono "Nan", di conseguenza.

Esempio 2: confrontare i valori "nan" in java

In questo particolare esempio, il "Nan"I valori corrispondenti a varie classi possono essere confrontati. Prima di procedere all'esempio, considera i seguenti punti:

    • Gli operatori di confronto "<","<="",>", E "> ="Restituisci sempre"falso"Se uno o entrambi gli operandi sono" nan ".
    • L'operatore di uguaglianza "==" ritorna "falso"Se uno degli operandi è nan.
    • L'operatore di disuguaglianza "!=" ritorna "VERO"Se uno degli operandi è nan .

Ora, passiamo alle seguenti righe di codice:

classe pubblica nan2
public static void main (string [] args)
Sistema.fuori.println (galleggiante.Nan != Galleggiante.Nan);
Sistema.fuori.println (galleggiante.Nan == float.Nan);
Sistema.fuori.println (galleggiante.Nan < Float.NaN);
Sistema.fuori.println (galleggiante.Nan <= Float.NaN);
Sistema.fuori.println (galleggiante.Nan> = galleggiante.Nan);
Sistema.fuori.println (doppio.Nan != Double.Nan);
Sistema.fuori.println (doppio.Nan == doppio.Nan);
Sistema.fuori.println (doppio.Nan> doppio.Nan);
Sistema.fuori.println (doppio.Nan <= Double.NaN);
Sistema.fuori.println (doppio.Nan> = doppio.Nan);


In questo frammento di codice, specificare "Galleggiante.Nan" E "Doppio.Nan"Per i campi costanti in entrambe le classi, rispettivamente per eseguire i confronti. Si noti che il confronto viene eseguito in base alle condizioni specificate discusse e al risultato booleano corrispondente viene restituito.

Produzione


In questo risultato, si può analizzare che solo il confronto con il "!="L'operatore ha restituito il risultato"VERO"In entrambe le classi di conseguenza.

Conclusione

"Nan (non un numero)"In Java di solito corrisponde all'esito di operazioni non valide come la divisione zero per zero, dividendo un numero di punto galleggiante per zero o prendendo la radice quadrata di un numero negativo, ecc. Questo blog ha discusso dell'uso e dell'implementazione di "Nan"In Java.