Ana içeriğe atla

Java'da diziler (arrays)

Dizi (array) nedir?
Dizi ayni tipten verilerin tutuldugu bir tür nesnedir. Bu veriler String, Integer, Obeject … gibi ilkel tipler olabilecegi gibi, kendi yazdigimiz nesneler de olabilir.
Java’da iki tip degisken vardir:
                -ilkel tipler: String, boolean, byte, int, long…
                -Referans tipler: Diziler, siniflar & arayüzler (interface).
 
Dizideki her elemanin bir indeksi vardir. Indeks 0’dan baslar. Yani bir dizinin ilk elemaninin indeksi 0’dir.
 
Dizi nasil tanimlanir?
 
Int[] a;
String[] s;
Obeject o;
 
Yukarida tanimladigimiz a, Integeger, s String ve o Object tipinde birer dizidir.
Dizileri tanimladik fakat henüs olusturmadik. Bunun için new anahtar sözcügünü kullanacagi.
 
a = new int[10]; //10 elemanli bir integer dizisi
s = new String[5]; //5 elemanli bir String dizisi
o = new Object[20]; //20 elemanli bir Object dizisi.
 
Not: o dizisinin elemanlari ayni tipten degil gibi düsünülebilir. Aslinda hepsi de ayni tipten, yani Object (nesne) tipindendir.
 
Eger ayni tipten farkli dizi degiskenleri tanimlamak istersek:
 
int[] a, b, c;
veya
int a[], b[], c[];
 
Yukarida tanimladigimiz dizilerin boyutlarini belirtmedik. Eger tanimlarken boyutlarini da belirtmek istersek:
int a[], b[], c[];
a = new int[10];
b = new int[5];
c = new int[20];
 
Dizi tanimlamanin baska bir yolu ise su sekildedir:
 
int [] a = {4, 1, 32, 56};
 
 
Dizinin elemanlarina ulasmak:
Once bir dizi olusturalim ve bu dizinin elemanlarini ekrana yazdiralim.
        public static void main(String[] args){
            int [] a = {4, 1, 32, 56};
            for(int i=0;i<a.length;i++) //a.length dizinin uzunlugunu verir
            System.out.println("Dizinin "+i+". indeksi: " + a[i]);
        }
 
Baska, kullanisli bir yöntem ise For-each döngüsü.
Java’da dizilerde for-each su sekilde olur:
int[] a = {4,7,9};
            for(int x:a)
                System.out.println(x);
veya
String[] s = {"a","b"};
            for(String x:s)
                System.out.println(x);
 
 
Bir diziyi kopyalamak:
 
Bir diziyi su sekilde kopyalayabiliriz:
int [] a = new int[10];
            for(int i=0;i<a.length;i++)
                a[i] = i * i;
            int[] b = new int[a.length];
            for(int i=0;i<a.length;i++)
                b[i] = a[i];
 
Fakat daha kolay bir yolu var; o da Java’nin hazir metotlarini da kullanabiliriz J
System.arraycopy(a, 0, b, 10);
 
 
Java’da Çok Boyutlu Diziler (Multidimensional Array):
 
Çok boyutlu dizi ne demektir?
Çok boyutlu dizi, dizilerden olusan bir dizi demektir. Her elemani baska bir dizi olan dizi.
Yani öyle bir dizi tanimlayacagiz ki elemanlari baska diziler olsun.
 
int [] [] a;         //diziyi tanimliyoruz
            a = new int [5] []; //diziyi olusturuyoruz
            for(int i=0;i<a.length;i++){
                a[i]=new int[2];
                for(int j=0;j<a[i].length;j++)
                    a[i][j] = i + j; //diziyi dolduruyoruz                
            }     
 
 
Çok boyutlu diziler düzenli ve düzensiz diziler olmak üzere ikiye ayrilir.
Çok bouyutlu düzenli diziler: Her satiri ayni sayida sütun içeren dizilerdir.
Çok boyutlu düzensiz diziler: Her satiri ayni sayida sütun içermeyen dizilerdir.
 
Düzenli dizilere bir örnek:
int [] [] a = {{0,1}, {1,2}, {2,3}, {3,4}, {4,5}};
 
//a.length: 5
//a[0].length: 2
//a[1].length: 2
//…..
 
Düzensiz dizilere bir örnek:
int [] [] a = {{0,1,2,3}, {1,2}, {2}};
 
//a.length: 3
//a[0].length: 4
//a.length: 2
//a.length: 1
 
Düzenli ve düzensiz dizilerin genel yapisina bir de sekille bakacak olursak:
 
 
 
 
Dizi Sinifi (class array):
 
Array sinifi, java.util paketindedir. Dizi islemleri için bir çok metot barindirir. Bunlardan bir kaçi sunlardir:
 
sort()
Diziyi tasnif etmek, alfabetik siraya koymak için kullanilir. Ör:Arrays.sort(a);
binarySearch()
Tasnif edilmis bir dizide bir deger aramak için kullanilir.
equals()
Dizileri karsilastirmak için kullanilir. Ör: Arrays.equals(birinciDizi[ ], ikinciDizi[ ]); //true-false
fill()
Dizinin içini doldurmak için kullanilir. Ör: Arrays.fill(aDizisi, 0);
 

Yorumlar

Bu blogdaki popüler yayınlar

Bilgisayarın Sağlıklı ve Doğru Kullanımı

Bilgisayar genelde oturarak kullanıldığı için uzun süreli kullanımlar vücudumuza zarar verebilmektedir.Yazı yazmak,internet erişimi ya da oyun oynamak için uzun süreli kullanım;başta bel,boyun ve omurgalarımızın sağlığını tehdit eder.Diğer yandan sürekli aynı noktaya bakmak göz sağlığımıza zarar verir.Bu nedenle bilgisayar kullanıcısının oturma pozisyonuna çok dikkat etmesi ve uzun süre çalışmaması gerekir. Bilgisayar Kullanırken Oturma Şekli Önerileri ·         Bilgisayarı,uygun yükseliğe sahip olan masa ve sandalye üzerinde dik oturma konumunda kullanmak gerekir.Klavye ve farenin çok uzakta olmaması gerekir.Oturan kişinin gözü ile bilgisayar arasında 50-60 cm uzaklık olmalıdır.Kollar yatay ve rahat konumda olmalıdır.   ·         Masa yüksekliği yaklaşık 70 cm olmalıdır.Dizüstü bilgisayarlar için yükseltici olarak bilinen altlıklar yararlı olabilir.   ·         Oturma sırasında sırt desteklemeli ve...

MPLS Temel Konfigürasyonu

Bu yazı içerisinde sizlerle temel “MPLS” protokolü konfigürasyonunu adım adım uygulayarak paylaşacağım. Bu adımların tamamını Huawei marka AR 2200 Serisi Router ürün ailesi üzerinde konfigüre edeceğiz. Bu konfigürasyonların kullanıldığı ve çalıştırıldığı işletim sistemi versiyonu “ V200R003C00 ” dur. Konfigürasyon adımlarının tamamı bi çok üretici ürününde de aynı şekilde ve aynı ön gereksinim ve alt yapı hazır olduğu sürece uygulanabilir ve müşteri ve/veya Servis sağlayıcıda devreye alınabilir. İşlem adımlarının uygulanırken temiz bir şekilde anlaşılması çok önemlidir. MPLS Protokolü temel konfigürasyonunu aşağıdaki topoloji üzerinden uygulayarak sizlere sunuyor olacağım. MPLS Referans Topolojimiz Öncelikli olarak tüm Router cihazlarımızda, fiziksel interface’ler ve Loopback interfac IP adres tanımlamalarını topolojimize uygun ayarlıyoruz. RouterB IP İnterface konfigürasyonu; “Router B IP Konfigürasyonu çıktısı” “Router B Üzerinde Yer Alan İnterface’lerin IP...

(C#) Ders 2 - Degisken Tipleri, Degisken Tanimlama ve Operatörler

C# Hakkinda Temel Bilgiler Bu dersimizde C# dili hakkinda temel bilgiler ögrenecegiz. Biraz açarsak bu dersimizde veri tipleri, degiskenler ve operatörleri nasil kullanacagimizla ilgili bilgiler verecegiz. Temel Veri Tipleri ve CTS(Common Type System) Karsiliklari C# da iki çesit veri tipi vardir: Deger Tipleri (Value type) Referans Tipleri(Reference Type) Degiskenler bellekte bulunan verilerdir. Bir degiskeni kullandigimiz zaman o degiskenin bellekte bulundu yerdeki bilgiyi kullaniriz. Deger tipleri veriyi direk olarak bellek bölgesinden alirken referans tipleri baska bir nesneye referans gösterirler. Yani referans tipleri içinde veri degil adres bilgisi tutarlar. Veri tipleri stack dedigimiz bellek bölgesinde tutulurlar, referans tipleri ise heap bellek bölgesinde saklanirlar. int, double, float gibi veri tipleri deger tiplerine örnek gösterilebilir. Herhangi bir sinif türü ise referans tipine örnek gösterilebilir. Deger tipleri birbirine esitlenirken degiskenin ba...