Merhaba Arkadaşlar,
Mobilhanem.com sitemiz üzerinden anlattığımız/yayınladığımız derslerimize bu dersimizde Java Tek Boyutlu Diziler (Array) dersimiz ile devam edeceğiz. Diziler(arrayler) derslerini 4-5 ders olarak detaylı bir biçimde anlatmayı düşünüyorum. Çünkü diziler hem uygulama geliştirirken hemde algoritma soruları çözerken çok fazla işe yaramaktadır.
Biz bu dersimizde tek boyutlu diziler’den bahsedeceğiz. Nedir bu diziler derseniz programın çalışma anında (runtime) birden fazla aynı tip veriyi tutmak/saklamak isteyebiliriz. Örneğin 10 tane sayının ortalamasını alacağız. Dizi kullanmadan bunu 10 tane farklı int değişken tanımlayıp tek tek toplayıp sonra 10’a bölerek bulabiliriz. Fakat bu çok zor bir kullanım ve daha büyük rakamlarda neredeyse imkansız bir hal alabilir. İşte bu sorunu Dizi kullanarak çözebiliriz.
Dizi’yi elementTipi diziAdi[] = new elementTipi[Dizi Boyutu]; şeklinde oluşturabiliriz.
Örnek:
String[] stringListe = new String[10]; int[] intListe = new int[8]; double[] doubleListe = new double[18]; boolean[] boolList = new boolean[9]; char charListe[] = new char[10]; //Bu kullanım şeklide doğrudur. Ama javada genel olarak yukarıdaki gibi kullanım olmaktadır. Tercih sizindir.
Yukarıda farklı boyutlarda ve farklı tiplerde diziler oluşturduk. Burda bilmemiz gereken önemli bir nokta dizinin boyutunu diziyi oluşturduktan sonra değiştiremiyoruz. Ne dizinin boyunu arttırabilir ne de azaltabiliriz.
Gelelim diziye değerlerimizi atamaya.
int[] mobilhanemListe = new int[8];//8 elemanlı Diziyi oluşturduk mobilhanemListe[0] = 12; //ilk değerini atadık mobilhanemListe[1] = 8;//ikinci değerini atadık mobilhanemListe[2] = 34; mobilhanemListe[3] = 19; mobilhanemListe[4] = 26; mobilhanemListe[5] = 31; mobilhanemListe[6] = -5; mobilhanemListe[7] = 78; //son değerini atadık
Yukarıda oluşturduğumuz mobilhanemListe dizimize değer atadık. Dikkat ettiyseniz ilk elemana değeri mobilhanemListe[1] ile değilde mobilhanemListe[0] şeklinde atadık. Bunun sebebi ise Java’da bir dizideki elemanların sıra numaraları, yani indeksleri 0 dan başlar ve boyutundan 1 eksik olarak biter. Yani 10 elemanlık bir dizinin son elemanına değeri diziAdi[9] = x şeklinde atayabiliriz. Aşağıda mobilhanemListe dizimizi görüyorsunuz. Gördüğünüz gibi ilk eleman yani 0. indeks 12 değerini tutuyor.
Yukarıdaki kodda gördüğünüz gibi mobilhanemListe dizimizi aşağıdaki şekilde oluşturduk ve değerler atadık.
int[] mobilhanemListe = new int[8]; mobilhanemListe[0] = 12; mobilhanemListe[1] = 8; mobilhanemListe[2] = 34; . . .
Diziyi aşağıdaki gibi farklı bir yollada oluşturup değerler atayabiliriz.
int[] mobilhanemListe = {12,8,34,19,26,31,-5,78} // Diziyi bu şekildede oluşturabiliriz
Gelelim oluşturduğumuz ve değer atadığımız dizinin değerini geri almaya. diziAdi[indeks] şeklinde önceden atadığımız değeri/değerleri alabiliriz.
System.out.println(mobilhanemListe[0]); //0. elemanın değerini yazdırıyoruz. Yani ilk eleman System.out.println(mobilhanemListe[3]); //4. elemanın değerini mobilhanemListe[3] şeklinde yazdırıyoruz. Konsol Çıktısı: 12 19
Diyelim ki diziyi oluşturduk ama değer ataması yapmadık. Değer ataması yapmadan belli bir indekse ulaşmaya çalıştığımızda ne olur dersiniz?
Diziyi oluşturduğumuz an başlangıç değerleri zaten bulunmaktadır. Aşağıdaki listede bir dizinin oluşturulduğu an başlangıç değerlerini paylaşıyorum.
- String -> null
- int/short/byte/long -> 0
- double/float -> 0.0
- boolean -> false
- char -> ‘\u0000’
- Herhangi Bir Objeyi tutan referans -> null
Örneğin:
int[] mobilhanemListe = new int[8]; // 8 elemanlı dizi oluşturuldu System.out.println(mobilhanemListe[4]); //herhangi bir değer ataması yapılmadan 5. elemana ulaşmaya çalışıyoruz Konsol çıktısı: 0
Gördüğünüz gibi biz bir atama yapmadan da 4.indeksin(beşinci eleman) değeri 0 dönmektedir. Bunun sebebi yukarıdada belirttiğim gibi başlangıç değerinin 0 olmasıdır. Biz diziyi oluşturur oluşturmaz Java tüm değerlerini 0 olarak set ediyor, eğer dizimizin tipi int ise.
Bu dersimde birde dizi boyutunu öğrenme işleminden bahsedeceğim. Biz bir diziyi oluştuduğumuz zaman o diziye ait length adında bir int değişken( method değil) otomatik olarak oluşur ve dizinin boyutunu tutar.
Yukarıdaki mobilhanemListe dizimizin boyutu 8’dir. Bunu aşağıdaki şekilde öğrenebiliriz.
int diziBoyutu = mobilhanemListe.length; System.out.println("Dizi boyutu :"+diziBoyutu); Konsol çıktısı: Dizi Boyutu :8
Bu dersimde dizinin temel mantığından, nasıl oluşturulduğundan, nasıl değer atandığından, değerleri nasıl geri alabileceğimizden, başlangıç değerlerinden ve dizinin boyutunu nasıl öğrenebileceğimizden bahsettik. Yani kısaca Javada ve tüm yazılım dillerinde çok önemli bir yapı olan Tek Boyutlu Dizi‘lere giriş yapmış olduk.
Bir sonraki dersimde ise dizilerle işlem yapmaktan bahsedeceğim. Özellikle dizilerle döngülerin birlikte nasıl kullanılacağından ve foreach döngüsünden bahsedeceğim.
Konuyla ilgili yorumlarınızı konu altından yapabilirsiniz, ayrıca sorularınızı yine konu altından ve Mobilhanem Soru&Cevap bölümünden sorabilirsiniz.
Tüm Temel Java Dersleri için tıklayınız..
27
teşekkürler, temel java eğitimi olarak -tahmini- kaç ders yapmayı düşünüyorsunuz? 4 derste arrayler sürse 25 eder, sonra başka konular varsa aklınızda tahmini kaç derste biter?
Daha 3 ‘te 1 ini tamamladık diyebilirim. Yani yaklaşık olarak 70 -80 ders olur gibi düşünüyorum. Kendi işlerimin yoğunluğundan dolayı dersleri hızlı hazırlayamıyorum, fakat Allah nasip ederse seriyi yarım bırakmayıp bitireceğim.
Bu işe yeni başlayanlar için çok güzel ilerliyor.Daha şimdiden java tüm dersleri bitirdim.Android e bunu tqmamlayınca başlayacağım.Fakat bir ders içinde proje tamamlama sonrası bilgisayarda idea olmadan nasıl çalıştıracağız java programları ve android için anlatabilirseniz çok güzel olacak Allah razı olsun emeğinize sağlık.
yorum için teşekkür ederim. Derslerin sonunda ufak bir kaç proje yapmayı düşünüyoruz. O zaman dediğiniz gibi idea olmadan nasıl çalıştırılır anlatmaya çalışacağız.
[…] Java Derslerine bu dersimizde diziler ile foreach döngüsü kullanımı ile devam ediyoruz. Bir önceki dersimiz de tek boyutlu dizilere giriş yapmıştık ve dizi nasıl tanımlanır, nasıl değer atanır ve […]
[…] derslerde görmüş olduğumuz tek boyutlu diziler tek bir sütunda verileri tutmaktadır. Çok boyutlu diziler ise birden fazla sütunda verileri […]
[…] Lakin yenə də ətraflı marqlanan olsa, mən mənbə deyim, siz ətraflı oxumağa material, bu və bu linkləri ziyarət […]