Merhaba..
Tüm programlama dillerinde olduğu gibi JAVA ile de diziler oluşturabilir , boyutlandırabilir ve üzerlerinde işlem yapabiliriz.
Dizileri içine birden fazla değer alan değişkenler olarak düşünebiliriz. Tek boyutlu diziler oluşturulabileceği ggibi , birden fazla boyutlu (Satır * Sütun) dizilerde oluşturulabilir.. Javada
veri_tipi[] dizi_adi;
Java2da diziler farklı yollar ile tanımlayabiliriz; Diziler tanımlanırken , değişkenler gibi veri tipleri (int,boolean,byte vs) yada nesnesi (string vs) mutlaka belirtilmelidir.. Diizler tanımlanırken veri tipi sonuna köşeli parantezler ( [ ] ) eklenir ve diziye bir değişken adı verilir. Dizi adları belirtilirkende genel değişken isimlendirme kurallarına uyulmalıdır..
1. İLK DEĞERSİZ DİZİ TANIMLAMA
Diziler, program akışında daha sonra kullanılmak üzere aşağıdaki gibi tanımlanabilriler. Burada dizinin içine alabileceği değer sayısı belirtilmez.Program süresince dizi uzunluğu (dizideki eleman sayısı) değişebilir..
int[] sayilar; // int tipinde ve sayilar adında dizi..
String[] gunler; // string tipinde ve gunler adında dizi..
double[] data; // double tipinde ve gunler adında dizi..
2. DİZİ UZUNLUĞU (ELEMAN SAYISI) BELİRTİLEREK DİZİ TANIMLAMA
Diziler tanımlanırken , isteğe bağlı olarak uzunluğu belirtilebilir. Dolayısıyla, dizinin içine eklenecek eleman sayısı belirlenmiş olacağı için Program esnasında bu değer aşıldığında hata ile karşılaşılır..
int[] sayilar = new int[10] // 10 elemanlı int tipinde dizi
3. İLK DEĞERLER VERİLEREK DİZİ TANIMLAMA
Diziler tanımlanırken , değişikenlerde olduğu gibi değerleri aynı anda verilebilir. Değerler süslü parantez arasında yazılır..
int[] sayilar = { 20,6,1982 };
Yukarıda 3 elemanlı bir dizi tanımlanmış olur. Ancak elaman sayısı belirtilmediği için , program akışında eleman sayısı artabilir veya azalabilir..
Dizideki eleman sayısı başta belirtilmediyse , "length" fonksiyonu ile bulunabilir.
// dizi tanımlanıyor..
int[] sayilar = { 20,6,1982 };
// dizi uzunluğu
int dizi_uzunluk=sayilar.length;
System.out.println("Dizideki eleman sayısı : " + dizi_uzunluk);
Dizide 3 eleman olduğu için , ekranda 3 yazacaktır..
Dizi elemanları , ayrı ayrı yazdırlıbileceği gibi , döngü kullanılarak tüm elemanlarda yazdırılabilir. Burada dikkat edilmesi gerekn dizilerdeki İNDİS mantığıdır.. Dizilerde ilk eleman 0. indis olarak tanımlanır. Diğer elemanaların indisleri 1 artar Dolayısıyla dizi içerisindeki bir elemana ulaşmak için mutlaka indis sayısı belirtilmelidir. İndisler dizi değişkeninin sonunda köşeli parantez içinde belirtilir..
Örneğin dizinin ilk elemanı aşağıdaki gibi yazdırabiliriz.
// dizi tanımlanıyor..
int[] sayilar = { 20,6,1982 };
// dizinin ilk elemanı yazdırılıyor..
System.out.println( sayilar[0]);
İndislere dikkat ederek tüm elemanları yazdıralım.
// dizi tanımlanıyor..
int[] sayilar = { 20,6,1982 };
// dizi elemanları yazdırılıyor..
System.out.println("Dizinin 0. indisli elemanı (1. elemanı): " + sayilar[0]);
System.out.println("Dizinin 1. indisli elemanı (2. elemanı): " + sayilar[1]);
System.out.println("Dizinin 2. indisli elemanı (3. elemanı): " + sayilar[2]);
FOR DÖNGÜSÜ İLE YAZDIRMA
Basit bir for döngüsü ile tüm dizi elemanlarını yazdırabiliriz. Döngüyü 0'dan dizi uzunluğuna (dizi uzunluğu dahil değil) kurarsak tüm indislere ulaşabiliriz.
// dizi tanımlanıyor..
int[] sayilar = { 20,6,1982 };
//dizi uzunluğu
int dizi_uzunluk=sayilar.length;
// for döngüsü ile dizinin tüm elemanları yazdırılıyor..
for (int i=0;i<dizi_uzunluk;i++) {
System.out.println( sayilar[i]);
}
Döngüde <= yerine < kullandığımıza dikkat edin....
Diziler aldıkları değerleri satır sütunlar şeklinde tutabilirler. Bu şekilde oluşturulan diziler çok boyutlu diziler olarak anılırlar.. JAVA'da çok boyutlu diziler iki köşeli parantez ile belirtilir. Örneğin 2 boyutlu bir dizi aşağıdaki gibi tanımlanabilir..
//ilk değersiz
int[][] notlar;
// Uzunluk belirtilerek (satır*sütun)
int[][] notlar = new int[3][4];
// İlk değerler verilerek.. (satır*sütun)
int[][] notlar = {
{1, 2, 3}, // 1 .satır (0 indis)
{4, 5, 6, 9}, // 2. satır (1 indis)
{7}, // 3. satır (2 indis)
};
Yukarıda 3 satır 4 sütunluk veri matrisi oluşturulmuş olur. Dizinin toplamda 3 indisi (satırı) olur. Ancak her indis kendi içerisinde başlı başına bir diziymiş gibi 4 eleman içerebilir..
Dizi elemanlarının konumları aşağıdaki gibi olur..
| 1. SÜTUN (0. indis) | 2. SÜTUN (1. indis) | 3. SÜTUN (2. indis) | 4. SÜTUN (3. indis) | |
| 1. SATIR (0. indis) | notlar[0][0] | notlar[0][1] | notlar[0][2] | notlar[0][3] |
| 2. SATIR (1. indis) | notlar[1][0] | notlar[1][1] | notlar[1][2] | notlar[1][3] |
| 3. SATIR (2. indis) | notlar[2][0] | notlar[2][1] | notlar[2][2] | notlar[2][3] |
Notlar dizisinin genel uzunluğu , satır sayısını verecektir. Her bir indis birer değer kümesidir. Ayrıca her satırın kendi uzunluğuna da ulaşılabiir..
int[][] notlar = { {1, 2, 3}, {4, 5, 6, 9}, {7}, };
int dizi_uzunluk=notlar.length; //dizi genel uzunluğu
int satir1_uzunluk=notlar[0].length; //dizi ilk indis (sayır) uzunluğu
System.out.println("Dizinin genel uzunluğu: " + dizi_uzunluk);
System.out.println("Dizinin 1. satır uzunluğu: " + satir1_uzunluk);
Çok boyutlu dizilerdeki elemanlara tek elemanları dizilerde olduğu gibi ulaşılabilir.. Ancak boyut sayısı kadar indisin belirtilmesi gerekir. Örneğin 2. satırın 1. elemanını yazdırmak istersek , ulaşacağımız satır 1. indis , sütun ise 0. indis olacaktır..
int[][] notlar = { {1, 2, 3}, {4, 5, 6, 9}, {7}, };
//2. satır 1. eleman yazdırılıyor..
System.out.println("2. Satır 2. Eleman : " + notlar[1][0]);
Çok boyutlu dizilerdeki elemanları for döngüsü ile yazdırabiliriz. Ancak bu yapıda iç içe for kullanmak durumundayız. İlk for satır için dönerken, içteki 2. for sütunlar için dönecektir..
int[][] notlar = { {1, 2, 3}, {4, 5, 6, 9}, {7}, };
//Dizinin tüm elelamanları yazdırılıyor..
for (int i=0;i<notlar.length;i++) {
for (int i=0;i<notlar[i].length;i++) {
System.out.println(notlar[i][j]);
}
}
Görüşmek üzere...
Toplam 20 Makale
Lütfen yorumlarınızda saygılı, yapıcı ve anlaşılır bir dil kullanın.
Küfür, hakaret ya da spam içerikler onaylanmaz.