Merhaba..
Tüm programlama dillerinde olduğu gibi JAVA ile de diziler oluşturabilir , boyutlandırabilir ve üzerlerinde işlem yapabiliriz.
JAVA DİZİLERİ
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
GENEL KULLANIM
veri_tipi[] dizi_adi;
DİZİ TANIMLAMA
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..
- İlk değersiz dizi tanımlama
- Dizi uzunluğu belitilerek dizi tanımlama
- İlk değer verilerek dizi tanımlama
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..
DİZİ UZUNLUĞU
Dizideki eleman sayısı başta belirtilmediyse , "length" fonksiyonu ile bulunabilir.
JAVA
// 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);
EKRAN
3
Dizide 3 eleman olduğu için , ekranda 3 yazacaktır..
DİZİ ELEMANLARINI YAZDIRMA
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]);
EKRAN
20
İ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]);
EKRAN
20
6
1982
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....
ÇOK BOYUTLU DİZİLER
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..
GENEL KULLANIM
//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] |
ÇOK BOYUTLU DİZİ UZUNLUĞU
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..
JAVA
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);
EKRAN
Dizinin genel uzunluğu: 3
Dizinin 1. satır uzunluğu: 3
ÇOK BOYUTLU DİZİ ELEMANLARINA ULAŞMA
Ç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..
JAVA
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]);
EKRAN
2. Satır 2. Eleman : 4
ÇOK BOYUTLU DİZİ ELEMANLARINI YAZDIRMA
Ç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..
JAVA
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 j=0;j<notlar[i].length;j++) {
System.out.println(notlar[i][j]);
}
}
EKRAN
1
2
3
4
5
6
9
7
Görüşmek üzere...