Geçen haftaki dersimizde Java SE’ye genel bir giriş yapıp, sınıf kavramı üzerinde durmuştuk. Ardından temel olarak değişkenlere giriş yapmıştık. Bu dersimizde değişkenler konumuzun diziler alt başlığını anlatıp, sınıf kavramını metotlar ile tamamlayacağız ve ilk sınıfımızı yazacağız. Peşin olarak uyarayım 2. dersimiz biraz uzun olacak
DİZİLER
Dizi, çoğu programlama dilinde kullanılan en temel veri yapılarından birisidir. Aynı tipteki bir çok değişkenin bir araya gelmesiyle oluşturulmuş bir yapıdır. Bellek dediğimiz RAM’de herhangi bir başlangıç adresinden başlayarak, her eleman tanıtıltığı tipin boyutu kadar yer kaplayacak şekilde arka arkaya yerleşir. Örneğin int tipi 4 byte büyüklüğünde bir veri tipidir ve int tipinde 20 elemanlı bir dizi tanıtılmışsa dizinin boyutu 4 * 20 = 80 byte eder. Bu temel bilgileri kısaca verdikten sonra teoriden çıkıp biraz daha pratiğe kayalım.
Dizi Tanıtmak
Dizilerin bir tipi, bir adı ve bir de boyutu vardır. Dolayısıyla dizi tanıtılırken derleyiciye bu üç parametre de verilmek durumundadır. Java’nın syntax’ına gelecek olursak; java, bir diziyi farklı şekillerde tanıtmamıza imkan tanıyan esnek bir yapıya sahiptir. Bu yapıları aşağıda birer örnekle gösterip tek tek açıklayalım.
int[] sayilar;
int sayilar[];
Yukarıdaki iki örnekte de sayilar adında int tipinde birer diziyi “tanıttık”. Ama sadece tanıttık, yani derleyiciye sayilar adında ve int tipinde bir dizi kullanacağımız bilgisini verdik. Henüz JVM bizim için RAM üzerinde bir dizi oluşturmadı. Dikkat ettiyseniz zaten burada dizinin boyut bilgisi girilmemiş durumda.
İlk dersimizde Java’da her şey birer nesnedir demiştik, diziler de birer nesnedir. Java’da bir nesneyi tanıtmak ayrı bir işlemdir, oluşturmak ayrı bir işlemdir. Peki diziyi tanıttık ama nasıl oluşturacağız ? Bir nesnenin oluşturulması için new kelimesi kullanılır. Bu kadar bilgiden sonra gelin artık dizimizi oluşturalım.
int[] sayilar;
sayilar = new int[5];
Yada
int[] sayilar = new int[5];
Şeklinde dizimizi oluşturmuş olduk. Yukarıdaki ilk örnekte, dizinin tanıtılması ve oluşturulması işlemleri iki ayrı satırda gerçekleştirilirken, ikinci örnekte tek satırda bu işlem tamamlanmıştır. Burada [] (köşeli parantez) ile sayilar isimli alanın bir dizi olduğu bilgisini ve new int[5] komutu ile de 5 adet tamsayıdan oluşacağı bilgisini derleyiciye vermiş olduk. Bu komut satırının yürütülmesinden sonra JVM bizim için bellekte 5 elemanlı bir int dizisi oluşturacaktır.
Java’da, dizi oluştururken verilen boyut bilgisi yukarıdaki örnekte olduğu gibi doğrudan bir sayi ile de verilebilirken, boyut bilgisi olarak bir tamsayı değişken de kullanılabilir. Örneğin
int boyut = 5;
int[] sayilar = new int[boyut];
şeklinde bir kullanım da mümkündür. Buna ek olarak, bir dizi tanıtıldığı sırada ilk değerleri verilmek suretiyle de oluşturulabilir.
int[] sayilar = {3,5,7,9,11};
Örneğinde görüldüğü üzere, sayilar adında ve int tipinde bir dizi tanıtıp, {} (süslü parantez) arasına virgüller ile ayırmak koşuluyla elemanları yazarak dizimizi oluşturmuş olduk. Bu durumda new kelimesinin kullanımına gerek kalmaz.