Java Temelleri : Java Ve Diziler Konusu

advertisement
Java Ve Diziler Konusu
Java Ve Diziler Konusu
Diziler
Java"da diziler nesnedirler, C"deki gibi hafızada yer kaplayan pointer değillerdir. Java "da diziler, C "ye göre daha güvenilirdir.
Dizilerin elemanlarına gelişigüzel değerler atayamazsınız. Java, dizi elemanlarını sırasıyla kontrol eder. Dolayısıyla arada değer
atanmamış bir elemana rastlanırsa hata oluşur. Bu da C"de çıkan hafıza bozulmalarını önler. Java"da dizi kullanmak için ilk önce
dizinin tipi verilir. Tip verilirken dizinin büyüklüğü belirtilmez.
int numbers[];
String myStrings[];
parantez koymaktır.
String[] myStrings;
// Integer diziler için
// String diziler için Diğer metod ise tipin arkasına köşeli
// String diziler için İkisi de tanımlamada aynıdır.
Her ikisi de kullanılabilir. Size hangisi daha kolay geliyorsa onu kullanın.
Java dizileri örneklerden de görüldüğü üzere tüm veri tipleri için kullanılabilir. Sonraki adım ise dizinin "new" operatörü kullanılarak
yaratılmasında, bu adımda dizinin büyüklüğü de belirtilir.
int numbers[] = new int[5];
// 5 büyüklüğünde integer dizi
String myStrings[] = new String[20];
// 20 büyüklüğünde string dizi.
Bu adımdan sonra diziler yaratılmış oldu. Dizinin her bir elemanına varsayılan değer atanır. Varsayılan değerler integer veri tipi için
"0 (sıfır)", string veri tipi için "null" değeridir. Dizi elemanlarına bu adımdan sonra değer atamak çok kolaydır. C++ "da olduğu gibi
Java "da da dizilerin elemanları sıfırdan başlayan tamsayı değerleridir.
Dizinin ilk elemanına değer atamak için:
myStrings[] = "ilk dizim";
numbers[] = 10;
Java"da bir dizinin eleman sayısını (büyüklüğü) bulmak için "length" metodu kullanılır. Bu metodun döndürdüğü değer "int"
tipindedir.
int boyut=numbers.length
// boyut=5 olur
Java"da çok boyutlu diziler yoktur. Fakat bu tür diziler dizi içinde dizi oluşturularak simüle edilebilir.
int k[][] = new int[5][4];
www.dijitalders.com
// 5-4 boyutunda bir dizi
Java Ve Diziler Konusu
1
Java Ve Diziler Konusu
k[1][3] = 999;
// Değer atama
Diziler (Arrays) : main() metodu parametre alarak String obje dizisi alır , bu String obje dizinin içersinde konsoldan java
uygulamasına gönderilen parametreler bulunur .
args[] : konsoldan girilen 1. parametre değerini taşır ..
args[1] : konsoldan girilen 2. parametre değerini taşır ..
args[n] : konsoldan girilen n. parametre değerini taşır ..
Javada diziler sıfır dan başlarlar . Dizileri ilerliyen bölümlerde yoğun bir şekilde inceliyeceğiz .
System.out.println("Selamlar !") :
Bu komut satırı , bilgileri konsola(ekrana) basmamızı sağlar . Java nin dokümanlarına bakarsak ,
System sınıfınına ait static bir metod olan olan out methodunun var olduğunu görürüz. Bu yüzden System sınıfını oluşturmak
zorunda değiliz (new System() gibi ). out methodu bize printStream objesi oluşturur ve printStream objesinin println() methodu ile
bilgileri konsola(ekrana) bastırırız.
Dizileri tanımlarken, aynı veri türünden elemanları grupladığımızdan bahsetmiştik. Farklı bir durum daha vardır. Bu da bir diziyi Java
dilinin en üst sınıf olan (C# taki gibi) Object türünden tanımlamak ve elemanları birer nesne olarak belirlemektir. Bu teknikte,
dizinin tüm elemanları birer nesnedir. Bu anlamda bellekteki dizilişte farklı olmaktadır. Öyleki, Object türünden bir dizi
tanıladığımızda, dizinin elemanları öbekte tutulurken her bir eleman nesne olduğu için, yine öbekteki asıl alanlarına referans eden
değerleri taşırlar. Ancak dizi elemanlarına eriştiğimizde, bu nesnelerin referans ettikleri öbek alanlarındaki verilere ulaşılır. Hemen
bununla ilgili bir örnek yapmakta fayda var.
public class DiziObject
{
public static void main(String[] args)
{
Integer eleman1=new Integer(456);
String eleman2=new String("Ben bir stringim...");
Double eleman3=new Double(45.45687);
Boolean eleman4=new Boolean(true);
Object[] dizi={eleman1,eleman2,eleman3,eleman4};
for(int i=;i<dizi.length;++i)
{
System.out.println((i+1)+". eleman="+dizi[i]);
}
}
}
Burada yaptığım Object türünden dizim için, new yapılandırıcılarını kullanarak sırasıyla integer, string, double ve boolean veri türlerinden birer nesne yaratmak ve daha sonra bu nesneleri
Object türünden diziye aktarmak. Uygulama başarılı bir şekilde derlenicektir ve çalışacaktır.
www.dijitalders.com
Java Ve Diziler Konusu
2
Java Ve Diziler Konusu
Bu tekniğin bellekteki görünümü ise aşağıdaki tasvire benzer şekilde olucaktır.
www.dijitalders.com
Java Ve Diziler Konusu
3
Download