Java'da anlamı NaN öyle Sayı Değil ve içinde mevcut java.lang.Double Ve java.lang.Float sınıflar. Tanımlanmamış bir sayısal değeri temsil eden özel bir değerdir. Sonucun tanımsız olduğu matematiksel hesaplamalarda NAN ile karşılaşabiliriz.
- Negatif bir Math.sqrt(-1) değerinin karekökünü hesaplamaya çalışırsak, negatif bir sayının karekökü tanımsız olduğundan NaN değerini döndürür.
- Sıfırı sıfıra bölmeye çalışırsak aynı zamanda NaN değerini döndürür.
Örnek:
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)); } }
Çıkış
NaN NaN NaN
Bazen matematik mantıklı değil, bu yüzden NaN var. Java, hata atmak yerine bir şeylerin yanlış olduğunu göstermek için NaN'yi döndürür.
NaN Nasıl Oluşturulur?
yardımıyla Çift veya Batmadan yüzmek sınıflarda bir NAN oluşturabiliriz.
dizede bulunur
double n = Double.NaN; // Double Kullanımı
Java'da nasıl güncelleme yapılır?float n = Float.NaN; // Float'ı kullanma
NaN Değerleri Nasıl Karşılaştırılır?
NaN'nin sırasız olması, NaN ile yapılan herhangi bir karşılaştırmanın yanlış sonuç vereceği anlamına gelir. NaN'yi başka bir NaN ile karşılaştırırsak veya ilişkisel operatörler kullanırsak sonuç her zaman yanlış olacaktır. Şimdi NaN'nin farklı senaryolarda nasıl çalıştığını tartışacağız.
1. İlişkisel Operatörler ve NaN
- Sayısal karşılaştırma operatörleri< <= >ve >= işlenenlerden biri veya her ikisi de NaN ise her zaman false değerini döndürür.
- Eşitlik operatörü ==, eğer işlenenlerden biri NaN ise false değerini döndürür.
- Eşitsizlik operatörü != eğer işlenenlerden biri NaN ise true değerini döndürür.
Örnek:
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); } }
Çıkış
Check if equal :false Check if unequal: true Check if equal: false Check if unequal: true false false
2. değilN() Kardeşler
Bu yöntem bir değerin NaN olup olmadığını kontrol etmek için kullanılır.
elektriğin avantajları
Örnek:
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()); } }
Çıkış
NaN = true -Infinity = false
3. Kayan Tip Matematiksel Değerlerle Çalışırken İstisna Üretmez
NaN takip ediyor IEEE 754 kayan nokta standart. IEEE754 kayan nokta sayıları pozitif veya negatif sonsuzluğu ve NaN'yi temsil edebilir. Bu üç değer, sonucu tanımlanamayan veya doğru şekilde gösterilemeyen hesaplamalardan kaynaklanmaktadır. Java bilinen matematik gerçeklerini takip ediyor. 1.0/0.0 sonsuzluktur ancak diğerleri Java'nın NaN (sayı değil) olarak temsil ettiği belirsiz formlardır.
Örnek:
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); } }
Çıkış
Infinity -Infinity InfinityTest Oluştur