7 - Diziler
Tek tipdeki değerlerin sonlu sayıdaki elamanını içeren nesneye dizi(array) denir. Dizi hakkında bilmemiz gereken önemli şeyler şunlar;
-
Diziler aynı tipden elemanların sıralı listesini tutar.
-
Dizinin herbir elemanına Index’i üzerinden erişilir.
-
Dizinin boyutu tanımlandığı zaman oluşur yani sabitdir.
-
Dizilerde numaralandırma 0’dan başlar.
Dizilerin Tanımlanması ve Kullanımı
Tipi[] ismi ;
ismi=new Tipi[Boyutu] ;
veya
Tipi[] ismi = Tipi[Boyutu] ;
şeklinde tanımlanabilir.Ek olarak
Tipi ismi[] ;//Tercih edilmez.
şeklindede tanımlama yapabilirsiniz ama bu yol tercih edilmez.Dizinin herbir elemanına indisleri kullanarak şu şekilde;
ismi[indeks] = değer;
atama yapılır.Veya;
Tipi[] ismi={deger1,deger2,deger3}; //devam edecek şekilde
şeklindede atama yapılabilir. Örnek uygulamada dizi tipi int olarak tanımlanmıştır.Benzer şekilde dizileri byte[], float[],String[] vb. tiplerde tanımlayabilirsiniz.
** Örnek Uygulama;**
public class DiziOrnek {
public static void main(String[] args) {
//int dizi1[]; tavsiye edilmeyen tanımlama şekli.
int[] dizi1;
dizi1=new int[10];
dizi1[0]=5;
dizi1[1]=6;
dizi1[4]=9;
dizi1[9]=33;
System.out.println("0. indeks: "+dizi1[0]);
System.out.println("1. indeks: "+dizi1[1]);
System.out.println("4. indeks: "+dizi1[4]);
System.out.println("9. indeks: "+dizi1[9]);
System.out.println("3. indeks: "+dizi1[3]);
System.out.println("---------------");
//Kısa tanımlama şekli.
int[] dizi2=new int[10];
dizi2[0]=5;
dizi2[1]=6;
dizi2[4]=9;
dizi2[9]=33;
System.out.println("0. indeks: "+dizi2[0]);
System.out.println("1. indeks: "+dizi2[1]);
System.out.println("4. indeks: "+dizi2[4]);
System.out.println("9. indeks: "+dizi2[9]);
System.out.println("3. indeks: "+dizi2[3]);
System.out.println("---------------");
/*Eğer dizinin boyutu değişken olarak tanımlanacaksa Final olarak belirtilmelidir.
*(Bu kelime buradaki kullanımda sadece ilk tanımlandığı değeri değiştirilemez olarak oluşturur.)
*Aksi durumda değişken değiştirilebilir. new int[10] satırı çalıştığında hafızada 10 integer boyuntunda yer açılmıştır.
*Bu durum doğrudan genişletilemez.(dolaylı yollar var)
*/
//final int boyut = 5; yazmalıyız.
int boyut = 5 ;
int[] dizi3=new int[boyut];
dizi3[0]=5;
dizi3[1]=6;
dizi3[4]=9;
System.out.println("0. indeks: "+dizi3[0]);
System.out.println("1. indeks: "+dizi3[1]);
System.out.println("4. indeks: "+dizi3[4]);
System.out.println("3. indeks: "+dizi3[3]);
boyut=10;
dizi3[9]=33;
//ArrayIndexOutOfBoundsException hatası verecek satır.
System.out.println("9. indeks: "+dizi3[9]);
}
}
}
Uygulamanın Çıktısı;
0. indeks: 5
1. indeks: 6
4. indeks: 9
9. indeks: 33
3. indeks: 0
---------------
0. indeks: 5
1. indeks: 6
4. indeks: 9
9. indeks: 33
3. indeks: 0
---------------
0. indeks: 5
1. indeks: 6
4. indeks: 9
3. indeks: 0
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 9
at DiziOrnek.main(DiziOrnek.java:57)