NaN ir un tas ir klāt un klasēm. Tā ir īpaša vērtība, kas apzīmē nenoteiktu skaitlisku vērtību. Mēs varam saskarties ar NAN matemātiskajos aprēķinos, ja rezultāts nav definēts.
- Ja mēģināsim aprēķināt negatīva Math.sqrt(-1) kvadrātsakni, tas atgriezīs NaN, jo negatīva skaitļa kvadrātsakne nav definēta.
- Ja mēģināsim dalīt nulli ar nulli, tas arī atgriezīs NaN.
Piemērs:
Java// Java Program to demonstrates NAN // Define a class public class Geeks { // main method public static void main(String[] args) { System.out.println(2.0 % 0.0); System.out.println(0.0 / 0.0); System.out.println(Math.sqrt(-1)); } }
Izvade
NaN NaN NaN
Dažkārt matemātika nav jēgas, tāpēc NaN pastāv. Tā vietā, lai izmestu kļūdas, Java vienkārši atgriež NaN, lai parādītu, ka kaut kas nav kārtībā.
Ar palīdzību Dubults vai Pludiņš klasēm mēs varam izveidot NAN.
dubultā n = Double.NaN; // Using Double
peldēt n = Float.NaN; // Izmantojot Float
Kā salīdzināt NaN vērtības?
NaN ir nesakārtoti, tas nozīmē, ka jebkurš salīdzinājums ar NaN būs nepatiess. Ja mēs salīdzinām NaN ar citu NaN vai mēs izmantojam relāciju operatorus, rezultāts vienmēr būs nepatiess. Tagad mēs apspriedīsim, kā NaN darbojas dažādos scenārijos.
1. Relāciju operatori un NaN
- Skaitliskie salīdzināšanas operatori< <= >un >= vienmēr atgriež false, ja viens vai abi operandi ir NaN.
- Vienādības operators == atgriež false, ja kāds no operandiem ir NaN.
- Nevienlīdzības operators != atgriež patiesu, ja kāds no operandiem ir NaN.
Piemērs:
Java// Java program to test relational operator on NaN public class Geeks { public static void main(String[] args) { // comparing NaN constant field defined in // Float Class System.out.print('Check if equal :'); System.out.println(Float.NaN == Float.NaN); System.out.print('Check if unequal: '); System.out.println(Float.NaN != Float.NaN); // comparing NaN constant field defined in Double Class System.out.print('Check if equal: '); System.out.println(Double.NaN == Double.NaN); System.out.print('Check if unequal: '); System.out.println(Double.NaN != Double.NaN); // More Examples double NaN = 2.1 % 0; System.out.println((2.1%0) == NaN); System.out.println(NaN == NaN); } }
Izvade
Check if equal :false Check if unequal: true Check if equal: false Check if unequal: true false false
2. isnN() Brāļi
Šo metodi izmanto, lai pārbaudītu, vai vērtība ir NaN.
lidinās css
Piemērs:
Java// Demonstrating isNaN() import java.lang.*; // Created a class public class Geeks { // main method public static void main(String[] args) { Double x = new Double(-2.0/0.0); Double y = new Double(0.0/0.0); // returns false if this Double value is not a Not-a-Number (NaN) System.out.println(y + ' = ' + y.isNaN()); // returns true if this Double value is a Not-a-Number (NaN) System.out.println(x + ' = ' + x.isNaN()); } }
Izvade
NaN = true -Infinity = false
3. Peldošais tips nerada izņēmumus, strādājot ar matemātiskām vērtībām
NaN seko IEEE 754 peldošā komata standarts standarta. IEEE 754 peldošā komata skaitļi var attēlot pozitīvu vai negatīvu bezgalību un NaN. Šīs trīs vērtības izriet no aprēķiniem, kuru rezultāts nav definēts vai tos nevar precīzi attēlot. Java seko zināmiem matemātikas faktiem. 1.0 / 0.0 ir bezgalība, bet pārējās ir nenoteiktas formas, kuras Java attēlo kā NaN (nevis skaitli).
Piemērs:
Java// Demonstrating output of floating // point number operations public class Geeks { public static void main(String[] args) { System.out.println(2.0 / 0); System.out.println(-2.0 / 0); System.out.println(9.0E234 / 0.1E-234); } }
Izvade
Infinity -Infinity InfinityIzveidojiet viktorīnu