logo

Java'da null hakkında gerçekler

Java da dahil olmak üzere her programlama dili null ile sınırlıdır. Kodda null ile ilgili herhangi bir sorunla karşılaşmayan programcı yoktur. Programcılar çoğunlukla karşılaştıkları NullPointerException boş verilerle bazı işlemleri gerçekleştirmeye çalıştıklarında. NullPointerException, Java.lang paketine ait olan bir sınıftır.

Null'un gerçeklerini anlamadan önce Java değişkenleri hakkında bilgi sahibi olmak gerekir. Eğer ne olduğunu bilmiyorsan Java değişkeni şu bağlantıya gidin:

Her geliştiricinin Java'da null ile ilgili aşağıdaki gerçekler hakkında bilgi sahibi olması gerekir:

Harfe duyarlı

Java'da, C programlamada olduğu gibi NULL veya 0 olarak null yazamayız çünkü null bir değişmez değerdir ve Java'da anahtar kelimeler büyük/küçük harfe duyarlıdır.

Null'un büyük/küçük harfe duyarlı davranışını anlamak için bir örnek ele alalım.

BoşÖrnek1.java

 // import classes and packages if any public class NullExample1 { // main() method start public static void main (String[] args) throws java.lang.Exception { // declare and initialize an object with NULL Object obj1 = NULL; // declare and initialize an object with null Object obj2 = null; // print both objects System.out.println('The value of obj1 is: '+obj1); System.out.println('The value of obj2 is: '+obj2); } } 

Çıktı:

Java'da null hakkında gerçekler

Referans Değişken Değeri

Varsayılan olarak, her bir referans değişkeni Java'da boş bir değere sahiptir. Bir referans değişkeni, Java'da referans türündeki nesneleri/değerleri belirtmek ve depolamak için kullanılır. Sınıflar, diziler, numaralandırmalar ve arayüzler vb. Java'daki bazı referans türleridir.

Java'daki örnek

Dolayısıyla, bir referans tipine hiçbir nesne aktarılmazsa referans tipi boş bir değer saklar.

Bir referans değişkeninin null değer için nasıl çalıştığını anlamak için bir örnek alalım:

int bir dize Java

NullExample2.java

 // import classes and packages if any public class NullExample2 { // declare two objects private static Object obj1; private static Object obj2; // main() method start public static void main (String[] args) { // print both objects System.out.println('The value of obj1 is: '+obj1); System.out.println('The value of obj2 is: '+obj2); } } 

Çıktı:

Java'da null hakkında gerçekler

Boş Tür

Java'da null ne bir Nesne ne de bir türdür. Herhangi bir referans türü değişkenine atayabileceğimiz özel bir değerdir. String, int, double vb. gibi istediğimiz herhangi bir türe null değeri verebiliriz.

Herhangi bir referans türüne nasıl null değerler atayabileceğimizi anlamak için bir örnek alalım.

NullExample3.java

 // import classes and packages if any public class NullExample3 { // main() method start public static void main (String[] args) { // pass a null value to a different type of variable // pass null to String String str = null; // pass null to Integer Integer itr = null; // pass null to Double Double dbl = null; // casting null to String String castedStr = (String)null; // casting null to Integer Integer castedItr = (Integer)null; // casting null to Double Double castedDbl = (Double)null; // print all reference type System.out.println('The value of str is: '+str); System.out.println('The value of itr is: '+itr); System.out.println('The value of dbl is: '+dbl); System.out.println('The value of castedStr is: '+castedStr); System.out.println('The value of castedItr is: '+castedItr); System.out.println('The value of castedDbl is: '+castedDbl); } } 

Çıktı:

Java'da null hakkında gerçekler

Otomatik Kutulama ve Kutudan Çıkarma

Otomatik kutulama Ve Kutu açma Java'da gerçekleştirdiğimiz en önemli iki işlemdir. Derleyici atar NullPointerException işlemleri gerçekleştirirken herhangi bir ilkel kutulu veri türüne null değer atadığımızda.

Otomatik kutulamayı ve null'un kutudan çıkarma gerçeğini anlamak için bir örnek alalım.

NullExample4.java

 // import classes and packages if any public class NullExample4 { // main() method start public static void main (String[] args) throws java.lang.Exception { // pass null value to a reference type Integer itr = null; // perform unboxing operation int data = itr; // print both objects System.out.println('The value of itr is: '+itr); System.out.println('The value of data is: '+data); } } 

Çıktı:

Java'da null hakkında gerçekler

Operatör örneği

Bir olup olmadığını kontrol etmek için nesne belirtilen türün bir örneği olup olmadığına bakılmaksızın, örneği Şebeke. örneği İfadenin değeri çalışma zamanında null olmadığında operatör true değerini döndürür. Typecasting kontrollerinde önemli bir rol oynar.

Anlamak için bir örnek verelim örneği Şebeke:

xdxd anlamı

BoşÖrnek5.java

 // import classes and packages if any public class { // main() method start public static void main (String[] args) throws java.lang.Exception { // pass null value to a reference type Integer m = null; // pass a value to a reference type Integer n = 20; // print instanceof values System.out.println(m instanceof Integer); System.out.println(n instanceof Integer); } } 

Çıktı:

Java'da null hakkında gerçekler

Statik Vs. Statik Olmayan Yöntemler

Boş değere sahip bir referans değişkeninde statik olmayan bir yöntem çağıramayız. Çağırırsak NullPointerException fırlatır, ancak statik yöntemi null değerli referans değişkenlerle çağırabiliriz. Statik yöntemler statik bağlama kullanılarak bağlandığından, Boş işaretçi İstisnasını atmazlar.

Null gerçeğini anlamak için bir örnek verelim:

BoşÖrnek6.java

sklearn doğruluk puanı
 // import classes and packages if any public class NullExample6 { // define static method public static void staticMethod() { //it can be called by using a null reference System.out.println('static method can be called by null reference.'); } // define non static method public void nonStaticMethod() { //it cannot be called by using a null reference System.out.println('static method cannot be called by a null reference.'); } // main() method start public static void main (String[] args) throws java.lang.Exception { NullExample6 exp = null; exp.staticMethod(); exp.nonStaticMethod(); } } 

Çıktı:

Java'da null hakkında gerçekler

== ve != Operatörleri

Java'da bu iki operatöre null ile izin verilir. Her iki operatör de Java'daki nesnelerle null kontrolünde faydalıdır.

Bu iki operatörün null ile nasıl çalıştığını anlamak için bir örnek alalım.

NullExample7.java

 // import classes and packages if any public class NullExample7 { // main() method start public static void main (String[] args) { // pass null value to String type of variables // pass null to str1 String str1 = null; // pass null to str2 String str2 = null; // pass null to str3 String str3 = 'Test'; // compare strings if(str1 == str2){ System.out.println('str1 and str2 both are equal'); }else{ System.out.println('str1 and str2 are not equal'); } if(str2 == str3){ System.out.println('str2 and str3 both are equal'); }else{ System.out.println('str2 and str3 are not equal'); } if(str3 == str1){ System.out.println('str3 and str1 both are equal'); }else{ System.out.println('str3 and str1 are not equal'); } } } 

Çıktı:

Java'da null hakkında gerçekler

Her Java geliştiricisinin yukarıda tartışılan null gerçekleri hakkında bilgi sahibi olması gerekir.