JAVA Diziler ve Dizi Oluşturma

Herhangi bir değişken tipi için aynı anda birden çok değeri bünyesinde barındırmaya yarayan programlama yapılarına dizi denir. Dizi benzer tür değişkenlerin oluşturduğu bir gruptur. Haftanın günleri, yılın ayları, öğrencilerin listesi, okutulan dersler, öğrencilerin notları, müşerilerin yaşları vb özellikleri değişkenler tanımlayarak takip edebiliyoruz. Aynı anda birden fazla değişken değerinin bir değişken türünde saklamak istediğimizde değişkenlar buna cevap verememektedir. Bu durumda dizilere ihtiyaç duymaktayız. Haftanın 7 gününün ismi, öğrencinin aldığı 10 dersin isimleri, 15 öğrencinin xxxx dersinde aldıkları vize notlarını saklamak için aynı değişken tipinin dizizine ihtiyaç duymaktayız.
 
Özet olarak diziler birden çok değişken değerini aynı anda saklayabilen ( hafızasında tutabilen ) değişken tipleridir.
Diziler aynı veri tipinden elemanlardan oluşan gruplardır. Diziler oluşturulurken o grupta yaklaşık ne kadar veri saklama kapasitesinde olması gerektiği önceden bildirilmesi gerekir. Örenegin haftanın günlerini temsile eden String tipinde big gün değişkeni en az 7 değer alacaktır. Diziler yapısı gereği birden çok değer aldıkalrı için aldıkları her bir değeri sıfır (0) dan başlayan indis elemanları ile takip edilir. Dizinin 1. Değeri, 2. Değeri ifade ettiğimiz şey dizinin indisini gösterir.
 
Dizilerin tasarlanış amaçları gayet basittir. Diziler basitçe, aynı tipe sahip bir dizi elemanı, tek bir noktada gruplayarak bu verilere daha kolay bir şekilde ulaşılmasını sağlayarak, yazılım geliştirme sürecini daha basit ve yönetilebilir bir hale sokar.
 
Java’da diziler hakkında bilinmesi gereken en önemli noktalardan biri, Java’da dizi elemanları ’0 (sıfır)’ dan başlar. Yani 10 luk bir dizi oluşturduğumuz zaman, dizinin ilk elemanına 0 indisden, son elemanına 9. indisden ulaşırız.

Dizi Tanımlama

Dizi tanımlamada en genel ifade şekli

<Dizi değişken tipi> <dizi adı>< dizi işareti>;
int Dizi [];
Dizinin kullanımından önce alabileceği veri kapasitisesini de belirterek bir nesne oluşumunun da sağlanması gerekir.
Dizi[]=new int[10];

 

Tamsayı dizisi tanımlama

10 öğrencinin yaş bilgilerini aynı anda hafızada tutacak bir yas değişkeni için yas tamsayı dizisi oluşturulabilir

Tamsayı dizisi tanımlama

<değişken tipi> <dizi adı>< dizi işareti []> <=new>< değiken tipi[dizi kapasitesi]>

int yas [] = new int[10];

tek bir kişi için yaş değişkenini tanımlayacak olsa idik
int yas;
komutu ile tanımlamayı gerçekleştiriyor idik.
Tamsayı tipinde bir dizi sözkonusu olduğunda ilk olarak değişkenin sağında yada soluna ( [] yas şekinde de tanımlanabilir) köşeli küme parantesi ([] ) işaretinin ilave edilir.
İkinci olarak da bu dizi için yeni 10 tane tamsayı değeri saklayabilecek kapasitede hafızada bir yer ayırması sağlanıyor. new int[10] 10 kapasiteli yeni bir dizi oluşumunu ifade etmektedir.

Aynı tanımlama
int []yas = new int[50];
şeklinde yapıldığında 50 kişinin yaş bilgisini saklayabiliriz.

Metin dizisi tanımlama

Tammsayı dizisinde olduğu gibi yazım formatı değişken tipleri hariç aynı olmaktadır. Örneğin haftanın günleri için String tipindeki bir gun değişken değer grubu için dun dizisini tanımlayalım

String gun[]=new String[8];

Haftanın 7 günü için 8 farklı değer alabilecek bir gun dizisini tanımlamış olduk.
Bir sınıftaki öğrencilerin isimlarinin tamamını alabilecez isim dizisi

String isim[]= new String [100] ;

Öğrencilerin aldığı dersleri için
String dersler[]=new String[12];

Metin dizileri oluşturulabilir.
Tamsayı dizisinde de belirtildiği gibi dizi isimi, dizi işareti [] ve kapasiter [12] küme parantesi içerisinde belirtilmektedir.

 

Diğer Dizi Türleri

Diğer mantıksal değişkenler (boolean) , ondalıklı sayı (double), karakter vb tüm değişken tiplerinde dizi oluşturulabilir. İfade ve tanımlama tipleri tamsayı ve metin ile aynı yapıdadır.

Bir elektronik devredeki 8 tane giriş mantıksal değişkeni için

boolean girdi[];

girdi[]=new boolean [8];

şeklinde bir tanımlama yapılabilir.

20 sorulu bir testin cevap şıklarını saklamak için karaketer tipi bir dizi oluşturmak istediğimizde

char testsonuc[]=new char[20];

şeklinde tanımlayabiliriz.

Birden çok döviz alış ve satış kurlarını bir arada takip edebilecek ondalıklı sayı dizisi için 2 ayrı diziyi aşağıdaki gibi tanımlayabiliriz.

double aliskur[]=new double [24];

double satiskur[]=new double [24];

bu iki dizi ile 24 farklı döviz için alış ve satış kurlarını bilgisi takip edilebilir.

Dizilere Değer Atama

Dizilere değer atama genel olarak değişkenlere değer atama verilerin ifadesi şekli itibari ile aynıdır fakat dizilerde birden fazla değer saklanabildiğinde bu değerin kaçıncı değer olduğunun bildirilmesi gerekir

Java’da dizilere 2 türlü değer atayabiliyoruz. Birinci yöntem, dizi referansı oluşturduğumuz satırda dizi elemanlarına açıkça atama yapabiliriz. Bu yöntemde dikkat edilmesi gereken nokta, nesne referansı oluşturduğumuz satırda bu atamayı yapmamız şart. Nesne referansı oluşturduktan sonra bu atamayı kodun başka yerinde yapmak derleme hatasına neden olur.

String mevsimler[] = {“ilkbahar”,”yaz”,”sonbahar”,”kış”};

Char cevap[]={‘A’,’B’,’C’,’D’,’E’};

Küme parantezi içerisindeki değerler sıfırıncı değerden başlamak üzere dizilerde yer bulur.

Kaçıncı değer olduğu belirtilerek değer atama

int Yas[]=new int[30];

Yas[0]=23;

Yas[1]=27;

……..

Yas[23]=32;

 

Burada 0.Yaş değerinin 23, 1. Yaş değerinin 27 olduğunu anılyoruz.

String Gun[]= new String[8];

Gun[1]=”Pazartesi”;

Gun[2]=”Salı”;

Gun[3]=”Çarşamba”;

Gun[5]=”Cıuma”;

Gun[7]=”Pazar”;

Gibi değer atamaları yapılabilmektedir. Dikkat edilirse sayısal değişkenlere direkt sayılar atanırken, metin değişkenlere tırnak “içerisinde” atama yapılmaktadır. Benzer şekilde mantıksal dizilere de true, false şeklinde değerler verilecektir

 

 

Posted in JAVA and tagged , , , , , , , , , , , , , , , , .

One Comment

  1. Pingback: JAVA Dizi Örnekleri - 1 - Takım Karşılaştırması | İlker GÜVEN Kişisel Web Sitesi

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak.

Güvenlik Sorusu *

Şu HTML etiketlerini ve özelliklerini kullanabilirsiniz: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>