Java Dersleri – 24 – Arrayler – Diziler

By | 17 Eylül 2019

Arrayler – Diziler

Arrayler konusuna geçiş yaptık. İlk önce nasıl kullanıldığı gibi örnekler yapalım daha sonra gerçek hayattan ufak örnekler vererek devam edelim.

Aşağıda örnek bir array var.

public class Main {
    public static void main(String[] args) {
        int[] ar = {1,2,3,4,5};
    }
}
  • int ile türünü belirttik
  • türünün hemen yanına bunu [] koyarak array olduğunu belirttik
  • ar ile array’e isim verdik
  • =‘den sonra {} içinde ise array elemanlarını yazdık.

Şimdi farklı bir array daha oluşturalım.

public class Main {
    public static void main(String[] args) {
        int[] ar = {1,2,3,4,5};
        double[] virgulluDegerler = {1.5,1.4,1.3,1.2,1.1};
    }
}

Bir array’in nasıl oluşturulduğunu öğrendiğimize göre şimdi bunlarla neler yapabileceğimize bakalım daha sonra örneklere geçeriz.

Üstteki kodumuzu şöyle düzenleyelim.

public class Main {
    public static void main(String[] args) {
        int[] ar = {1,2,3,4,5};

        double[] virgulluDegerler = {1.5,1.4,1.3,1.2,1.1};

        System.out.println("int array'in ilk elemanı : "+ar[0]);
        System.out.println("double array'in ilk elemanı : "+virgulluDegerler[0]);
    }
}

İki tane array oluşturduk. İçindeki elemanlara ar[0] ve virgulluDegerler[0] şeklinde eriştik. Elemanlar 0’dan başlar. Yani 0. eleman aslında 1’i temsil eder. 1. elemanda 2’i temsil eder ve böyle devam eder.

Çıktısı;

int array'in ilk elemanı : 1
double array'in ilk elemanı : 1.5

Üstteki örneği şöyle yapalım.

public class Main {
    public static void main(String[] args) {
        int[] ar = {1,2,3,4,5};

        System.out.println("int array'in elemanı : "+ar[4]);
    }
}

Bu şekilde 5. elemanı yani 5’i çağırdık.

Çıktısı;

int array'in elemanı : 5

Bir array’in nasıl oluşturulduğunu gördük ama oluşturmanın farklı yolları da var. O farklı yolu hemen görelim.

public class Main {
    public static void main(String[] args) {
        int[] ar = new int[4];
    }
}

Bu şekilde 5 elemanlı bir array oluşturduk ama içi boş. Hiçbir şey girmedik. İçine bir şey girmek için de şöyle yapmalıyız.

public class Main {
    public static void main(String[] args) {
        int[] ar = new int[4];

        ar[0] = 1;
        ar[1] = 2;
        ar[2] = 3;
        ar[3] = 4;
        ar[4] = 5;       
    }
}

Bu şekilde ar isimli array’in içini doldurduk. Oluşturulan array’in içini doldurmazsak ne olur görelim.

public class Main {
    public static void main(String[] args) {
        int[] ar = new int[4];
        ar[0] = 1;
        ar[1] = 2;
        ar[2] = 3;
        ar[3] = 4;
        System.out.println("4. eleman : "+ar[4]);
    }
}

4 yani 5. elemanı çağırdık ama array içinde 5. elemanın yeri boş. Bu sebepten hata alacağız.

Birkaç şeye daha değinelim hemen.

public class Main {
    public static void main(String[] args) {
        int[] ar1 = {1,3,5,7,9};
        int[] ar2 = {0,2,4,6,8};

        System.out.println("ilk çift rakam : "+ar2[0]);
        System.out.println("ilk tek rakam : "+ar1[0]);
    }
}

2 tane int türünde array oluşturduk ve içini int türünde elemanlarla doldurduk.

Çıktısı;

ilk çift rakam : 0
ilk tek rakam : 1

Şimdi aşağıdaki kodu inceleyelim.

public class Main {
    public static void main(String[] args) {
        int[] ar1 = {1,2,3,4,5.1};
    }
}

Burada hatalı bir array oluşturduk. Array türü int ama elemanlardan birisi yani 5.1 olan int türünde değil. Yani türü ne olarak belirtilmişse tüm elemanlar o türe göre olmalı.

Örnekler

Yukarıda bir örnek yaptık. Şimdi o örnek üzerinden bir iki düzenleme yapalım ve ortaya güzel bir şey çıkaralım.

public class Main {
    public static void main(String[] args) {
        int[] cift = {0,2,4,6,8};

        for (int i = 0; i < 5; i++)
        {
            System.out.println("Eleman : "+cift[i]);
        }
    }
}

Çıktısı;

Eleman : 0
Eleman : 2
Eleman : 4
Eleman : 6
Eleman : 8
  • Bu örneğimizde çift rakamları içinde bulunduran bir array oluşturduk ve for döngüsü ile içindeki tek tek ekrana bastırdık.
  • System.out.println(“Eleman : “+cift[i]); kısmında array’in elemanlarını sürekli ekrana bastırıyor.
  • For döngüsü ilk başladığında i‘nin değeri 0 olması sebebiyle +cift[0] şeklinde çalışacak yani ilk elemanı ekrana yazdıracak. döngü tekrar başa geldiğinde i’nin yeni değeri 1 olması sebebiyle +cift[1] ile 2. eleman ekrana bastırılacak. Taki i < 5 koşulu sağlanmayana kadar.
  • Neden 5 yaptık derseniz eleman sayısı 5 idi. ya çok uzun bir array olsaydı ne olacaktı. Tek tek elemanlarını sayıp sonra ona göre koşulu mu belirtecektik? tabiki de hayır. Bunun için farklı bir diğer yolu görelim.
public class Main {
    public static void main(String[] args) {
        int[] cift = {0,2,4,6,8};

        for (int i = 0; i < cift.length; i++)
        {
            System.out.println("Eleman : "+cift[i]);
        }
    }
}

Burada farklı yaptığımız yer i < cift.length kısmıdır sadece. cift‘in uzunluğu anlamına geliyor bu. Yani cift‘in içinde kaç eleman varsa o kadar. 5 varsa 5, 10 varsa 10

Farklı bir örnek daha görelim. Bu örneğimizde ise boş bir array oluşturalım. İçini de kullanıcıdan doldurmasını isteyelim ve daha sonra ekrana basalım. Bu örneği biraz düşündüğümüzde neler yapmamız gerektiğini bir planlayalım.

  • Boş bir array oluşturacağız ve kapasitesini belirtmeliyiz. üstte nasıl yaptığımızı gördük.
  • for ile array’in içine gireceğiz ve aşağıdaki adımı gerçekleştireceğiz.
  • Scanner ile her defasında bir eleman alacağız.
  • Elemanlar alındıktan sonra for döngüsü ile array’in içine girip ekrana basacağız.
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        int[] al = new int[4];

        System.out.println("Elemanları Girin : ");
        for (int i = 0; i < al.length; i++)
        {
            Scanner scanner = new Scanner(System.in);
            al[i] = scanner.nextInt();
        }

        for (int i = 0; i < al.length; i++)
        {
            System.out.println("Girilen Elemanlar : "+al[i]);
        }
    }
}

Örnek Çıktı;

Elemanları Girin : 
1
2
3
4
Girilen Elemanlar : 1
Girilen Elemanlar : 2
Girilen Elemanlar : 3
Girilen Elemanlar : 4

Neler yaptığımızı örnekten hemen önceki bölümde adım adım anlattım zaten.
Bu örneğimize ek olarak birkaç şey daha ekleyelim. Girilen elemanlarda en büyük, en küçük ve oratalamasını bulsun.

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        int[] al = new int[4];

        System.out.println("Elemanları Girin : ");
        for (int i = 0; i < al.length; i++)
        {
            Scanner scanner = new Scanner(System.in);
            al[i] = scanner.nextInt();
        }
        for (int i = 0; i < al.length; i++)
        {
            System.out.println("Girilen Elemanlar : "+al[i]);
        }
        ortalama(al);
        enBuyuk(al);
        enKucuk(al);
    }
    public static void ortalama(int[] ar)
    {
        int toplam = 0;
        for (int i = 0; i < ar.length; i++)
        {
            toplam += ar[i];
        }
        System.out.println("Ortalama : "+toplam / ar.length);
    }
    public static void enBuyuk(int[] ar)
    {
        int enBuyukSayi = 0;
        for (int i = 0; i < ar.length; i++)
        {
            if (enBuyukSayi < ar[i])
            {
                enBuyukSayi = ar[i];
            }
        }
        System.out.println("En Büyük Sayı : "+enBuyukSayi);
    }
    public static void enKucuk(int[] ar)
    {
        int enKucukSayi = ar[1];
        for (int i = 0; i < ar.length; i++)
        {
            if (enKucukSayi > ar[i])
            {
                enKucukSayi = ar[i];
            }
        }
        System.out.println("En Küçük Sayı : "+enKucukSayi);
    }
}

Örnek Çıktı;

Elemanları Girin : 
8
10
20
22
Girilen Elemanlar : 8
Girilen Elemanlar : 10
Girilen Elemanlar : 20
Girilen Elemanlar : 22
Ortalama : 15
En Büyük Sayı : 22
En Küçük Sayı : 8

Bir sonraki dersimizde çok boyutlu arrayler göreceğiz

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir