Diziler (Java Eğitimleri)

ratio

Kıdemli Üye
6 Tem 2013
2,456
6
Turk
Diziler (Java Eğitimleri)

Dizi, tek bir türün(String, int, double...) sabit sayıda değerini tutan bir konteyner nesnesidir. Buradaki sabit sayıda değer dememizin sebebi, diziyi oluştururken dizinin uzunluğunu belirlediğimiz içindir. Belirlediğimiz uzunluk sabittir ve değiştirilemez.

Dizide oluşturduğumuz her nesneye element denir ve her elementin bir indeksi vardır.

İndekslerin Java’da bir eksiğinden başladığını bildiğimizi varsayarak aşağıdaki resmi dizileri görselleştirmek için kullanalım. (Örn: İlk element sıfırıncı indeks.)




1tpEPL.png





On elementlik bir dizi.

Dizileri basitçe gösterek içlerinde birazcık daha anlatalım.



Kod:
[/SIZE][LEFT][SIZE=4][COLOR=White]public class DizilerTHT { 
[/COLOR][/SIZE] [SIZE=4][COLOR=White]
    public static **** main(String[] args) { 
[/COLOR][/SIZE] [SIZE=4][COLOR=White]
        // Diziyi tanımlıyoruz. (declaration) 
[/COLOR][/SIZE] [SIZE=4][COLOR=White]
        String[] GreenTeam;  
[/COLOR][/SIZE] [SIZE=4][COLOR=White]
        // GreenTeam olarak yazdığımız bölüm dizinin adı. 
[/COLOR][/SIZE] [SIZE=4][COLOR=White]
        // Bellekte 7 tane kelime için yer ayırıyoruz. 
[/COLOR][/SIZE] [SIZE=4][COLOR=White]
        GreenTeam = new String[6]; 
[/COLOR][/SIZE] [SIZE=4][COLOR=White]
[/COLOR][/SIZE] [SIZE=4][COLOR=White]
[/COLOR][/SIZE] [SIZE=4][COLOR=White]
        // İlk öğeyi tanımlıyoruz. (initialization) 
[/COLOR][/SIZE] [SIZE=4][COLOR=White]
        GreenTeam[0] = "P4RS"; 
[/COLOR][/SIZE] [SIZE=4][COLOR=White]
        // İkinci öğeyi tanımlıyoruz. (initialization) 
[/COLOR][/SIZE] [SIZE=4][COLOR=White]
        GreenTeam[1] = "R4V3N"; 
[/COLOR][/SIZE] [SIZE=4][COLOR=White]
        // Diğer öğeleri de tanımlıyoruz. (initialization) 
[/COLOR][/SIZE] [SIZE=4][COLOR=White]
        GreenTeam[2] = "PourLa"; 
[/COLOR][/SIZE] [SIZE=4][COLOR=White]
        GreenTeam[3] = "THE HACKER 21"; 
[/COLOR][/SIZE] [SIZE=4][COLOR=White]
        GreenTeam[4] = "Uchiha-Sasuke"; 
[/COLOR][/SIZE] [SIZE=4][COLOR=White]
        GreenTeam[5] = "PigGunner" 
[/COLOR][/SIZE] [SIZE=4][COLOR=White]
[/COLOR][/SIZE] [SIZE=4][COLOR=White]
[/COLOR][/SIZE] [SIZE=4][COLOR=White]
        // Şimdi ise System.out.print metodunu kullanarak tanımladığımız öğeleri çıktıya yazdırıyoruz. 
[/COLOR][/SIZE] [SIZE=4][COLOR=White]
        System.out.println("Sıfırıncı indeksdeki element: " 
[/COLOR][/SIZE] [SIZE=4][COLOR=White]
                           + GreenTeam[0]); 
[/COLOR][/SIZE] [SIZE=4][COLOR=White]
        System.out.println("Birinci indeksdeki element: " 
[/COLOR][/SIZE] [SIZE=4][COLOR=White]
                           + GreenTeam[1]); 
[/COLOR][/SIZE] [SIZE=4][COLOR=White]
        System.out.println("İkinci indeksdeki element: " 
[/COLOR][/SIZE] [SIZE=4][COLOR=White]
                           + GreenTeam[2]); 
[/COLOR][/SIZE] [SIZE=4][COLOR=White]
        System.out.println("Üçüncü indeksdeki element: " 
[/COLOR][/SIZE] [SIZE=4][COLOR=White]
                           + GreenTeam[3]); 
[/COLOR][/SIZE] [SIZE=4][COLOR=White]
        System.out.println("Dördüncü indeksdeki element: " 
[/COLOR][/SIZE] [SIZE=4][COLOR=White]
                           + GreenTeam[4]); 
[/COLOR][/SIZE] [SIZE=4][COLOR=White]
        System.out.println("Beşinci indeksdeki element: " 
[/COLOR][/SIZE] [SIZE=4][COLOR=White]
                           + GreenTeam[5]); 
[/COLOR][/SIZE] [SIZE=4][COLOR=White]
[/COLOR][/SIZE] [SIZE=4][COLOR=White]
[/COLOR][/SIZE] [SIZE=4][COLOR=White]
    } 
[/COLOR][/SIZE] [SIZE=4][COLOR=White]
[/COLOR][/SIZE] [SIZE=4][COLOR=White]} [/COLOR][/SIZE][/LEFT]
[SIZE=4][COLOR=White]

[/COLOR][/SIZE][SIZE=4]
Kodu çalıştırdığımızda aldığımız çıktı:



ZZqxIm.png





Yukarıdaki örnekte String türündeki dizileri tanımladık. Diğer türdeki dizileri nasıl tanımlayacağız?


Buradaki ana mantığı ve örnekleri verelim.

DiziTipi[] diziAdı; veya DiziTipi diziAdı[] şeklinde dizilerimizi tanımlayabiliriz.



Kod:
[/SIZE][CENTER][SIZE=4][COLOR=white]byte[] anArrayOfBytes; 
[/COLOR][/SIZE] [SIZE=4][COLOR=white]
[/COLOR][/SIZE] [SIZE=4][COLOR=white] short[] anArrayOfShorts; 
[/COLOR][/SIZE] [SIZE=4][COLOR=white]
[/COLOR][/SIZE] [SIZE=4][COLOR=white] long[] anArrayOfLongs; 
[/COLOR][/SIZE] [SIZE=4][COLOR=white]
[/COLOR][/SIZE] [SIZE=4][COLOR=white] float[] anArrayOfFloats; 
[/COLOR][/SIZE] [SIZE=4][COLOR=white]
[/COLOR][/SIZE] [SIZE=4][COLOR=white] double[] anArrayOfDoubles; 
[/COLOR][/SIZE] [SIZE=4][COLOR=white]
[/COLOR][/SIZE] [SIZE=4][COLOR=white] boolean[] anArrayOfBooleans; 
[/COLOR][/SIZE] [SIZE=4][COLOR=white]
[/COLOR][/SIZE] [SIZE=4][COLOR=white] char[] anArrayOfChars; 
[/COLOR][/SIZE] [SIZE=4][COLOR=white]
[/COLOR][/SIZE] [SIZE=4][COLOR=white] String[] anArrayOfStrings; [/COLOR][/SIZE][/CENTER]
[SIZE=4][COLOR=white]
[/COLOR][/SIZE][SIZE=4]


Yukarıdaki yaptığımız örnekten devam edecek olursak aynı işlemi daha az satırda da yapabiliriz. Örn:



Kod:
[/SIZE][LEFT][SIZE=4][COLOR=white]public class DizilerTHT { 
[/COLOR][/SIZE] [SIZE=4][COLOR=white]
    public static **** main(String[] args) { 
[/COLOR][/SIZE] [SIZE=4][COLOR=white]
        // Diziyi tanımlıyoruz ve elementleri tanımlıyoruz. (declaration and initilization) 
[/COLOR][/SIZE] [SIZE=4][COLOR=white]
        String[] GreenTeam = { "P4RS", "R4V3N", "PourLa", "THE HACKER 21", "Uchiha-Sasuke", "PigGunner" }; 
[/COLOR][/SIZE] [SIZE=4][COLOR=white]
[/COLOR][/SIZE] [SIZE=4][COLOR=white]
[/COLOR][/SIZE] [SIZE=4][COLOR=white]
        // Şimdi ise System.out.print metodunu kullanarak tanımladığımız öğeleri çıktıya yazdırıyoruz. 
[/COLOR][/SIZE] [SIZE=4][COLOR=white]
        System.out.println("Sıfırıncı indeksdeki element: " 
[/COLOR][/SIZE] [SIZE=4][COLOR=white]
                           + GreenTeam[0]); 
[/COLOR][/SIZE] [SIZE=4][COLOR=white]
        System.out.println("Birinci indeksdeki element: " 
[/COLOR][/SIZE] [SIZE=4][COLOR=white]
                           + GreenTeam[1]); 
[/COLOR][/SIZE] [SIZE=4][COLOR=white]
        System.out.println("İkinci indeksdeki element: " 
[/COLOR][/SIZE] [SIZE=4][COLOR=white]
                           + GreenTeam[2]); 
[/COLOR][/SIZE] [SIZE=4][COLOR=white]
        System.out.println("Üçüncü indeksdeki element: " 
[/COLOR][/SIZE] [SIZE=4][COLOR=white]
                           + GreenTeam[3]); 
[/COLOR][/SIZE] [SIZE=4][COLOR=white]
        System.out.println("Dördüncü indeksdeki element: " 
[/COLOR][/SIZE] [SIZE=4][COLOR=white]
                           + GreenTeam[4]); 
[/COLOR][/SIZE] [SIZE=4][COLOR=white]
        System.out.println("Beşinci indeksdeki element: " 
[/COLOR][/SIZE] [SIZE=4][COLOR=white]
                           + GreenTeam[5]); 
[/COLOR][/SIZE] [SIZE=4][COLOR=white]
[/COLOR][/SIZE] [SIZE=4][COLOR=white]
[/COLOR][/SIZE] [SIZE=4][COLOR=white]
    } 
[/COLOR][/SIZE] [SIZE=4][COLOR=white]
[/COLOR][/SIZE] [SIZE=4][COLOR=white]} [/COLOR][/SIZE][/LEFT]
[SIZE=4][COLOR=white]
[/COLOR][/SIZE][SIZE=4]

Kodu çalıştırdığımızda aldığımız çıktı:




ZZqxIm.png




Çoklu Boyutlu Diziler (Multidimensional Arrays)

Diziler tek bir satırda olacağı gibi sütun ve satır şeklinde de olabilir. Örn:
Wz5UxL.png


Burada bütün sistem aynı çalışmakta sadece tanımlama kısmında iki köşeli parantez koyup içlerine satır ve sütün numaramızı yazacağız.

Örn: İlk satırın ilk sütununa yazdığımızı varsayarsak,

GreenTeam[0][0] = “PigGunner”;

Köşeli parantezleri arttırarak çok boyutlu dizileri genişletebiliriz, üç boyutlu vs.

NOT: Burada dizi tanımlama ve element tanımlama kısımlarında da yani köşeli parantezlerin bulunduğu her yerde köşeli parantez sayısını istediğimiz boyut sayısı kadar yapmamız gerekiyor.

Bu konu dizilere küçük bir giriş tarzındaydı. Diziler hakkında daha fazla bilgi edinmek ve daha kompleks kodlar yazabilmek ve daha verimli şekilde kullanabilmek için java.util.arrays(diziler sınıfı)(arrays class) hakkında araştırma yapabilirsiniz.
 
Moderatör tarafında düzenlendi:
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.