Evet, yalnızca varsayılan değer null olarak ayarlanmış başvurular oluşturur. Bu nedenle bir NullPointerException alıyorsunuz Nesneleri ayrı ayrı oluşturmanız ve başvuruyu atamanız gerekir. Java'da diziler oluşturmak için 3 adım vardır -
Beyan - Bu adımda, oluşturacağımız dizinin veri türünü ve boyutlarını belirtiyoruz. Ancak unutmayın, henüz boyutların boyutlarından bahsetmiyoruz. Boş bırakılırlar.
Örnekleme - Bu adımda, yeni anahtar kelimeyi kullanarak diziyi oluşturur veya dizi için bellek ayırırız. Bu adımda dizi boyutlarının boyutlarından bahsediyoruz.
Başlatma - Dizi her zaman veri türünün varsayılan değerine sıfırlanır. Ancak kendi başlangıçlarımızı yapabiliriz.
Java'da Dizileri Bildirme
Java'da tek boyutlu bir diziyi bu şekilde ilan ediyoruz -
int[] array;
int array[];
Oracle, dizileri bildirmek için eski sözdizimini kullanmanızı önerir. İşte yasal beyannamelere başka örnekler -
// One Dimensional Arrays
int[] intArray; // Good
double[] doubleArray;
// One Dimensional Arrays
byte byteArray[]; // Ugly!
long longArray[];
// Two Dimensional Arrays
int[][] int2DArray; // Good
double[][] double2DArray;
// Two Dimensional Arrays
byte[] byte2DArray[]; // Ugly
long[] long2DArray[];
Bunlar yasadışı beyanlara bazı örnekler.
int[5] intArray; // Don't mention size!
double{} doubleArray; // Square Brackets please!
Destekleme
Bir dizi için bu şekilde “örnek oluştururuz” veya bellek ayırırız -
int[] array = new int[5];
JVM new
anahtar kelimeyle karşılaştığında, bir şey için bellek ayırması gerektiğini anlar. Ve belirterek int[5]
, int
5 büyüklüğünde bir s dizisi istediğimizi kastediyoruz, bu nedenle JVM hafızayı oluşturur ve yeni tahsis edilen belleğin referansını bir "referans" türüne diziye atarint[]
Başlatma
Döngü Kullanma - Bir dizinin öğelerini başlatmak için bir for döngüsü kullanmak, diziyi çalıştırmanın en yaygın yoludur. Varsayılan değeri kendisi atayacaksanız bir for döngüsü çalıştırmanıza gerek yoktur, çünkü JVM bunu sizin için yapar.
Hepsi bir arada..! - Dizimizi tek seferde ilan edebilir, örnekleyebilir ve başlatabiliriz. İşte sözdizimi -
int[] arr = {1, 2, 3, 4, 5};
Burada, boyuttan bahsetmiyoruz, çünkü JVM 5 değer verdiğimizi görebiliyor.
Yani, somutlaştırılana kadar referanslar boş kalır. Umarım cevabım sana yardımcı olmuştur ..! :)