Erkan KESER

Diziler (Arrays) - Java ile Android Studio

Dizi nedir, nasıl kullanılır, java ile android studio kullanılarak anlatılmaktadır.

1. Dizi Nedir?

Dizi, aynı türdeki verilerin bir arada tutulduğu bir veri yapısıdır. Diziler, birden fazla değeri tek bir değişken altında saklamak için kullanılır. Örneğin, 10 öğrencinin isimlerini veya notlarını tek bir dizi içinde saklayabiliriz.

Dizi Özellikleri

  • Diziler, aynı türdeki verileri saklamak için kullanılır.
  • Dizilerin boyutu sabittir ve tanımlandıktan sonra değiştirilemez.
  • Dizi elemanlarına indeks numaraları ile erişilir.
  • Diziler, döngüler ile birlikte sıkça kullanılır.
  • Android Studio'da diziler, veri saklama ve işleme için önemlidir.

2. Dizi Tanımlama

Java'da diziler aşağıdaki şekilde tanımlanır:

// Veri tipi ve köşeli parantezler ile dizi tanımlanır
int[] sayilar; // int türünde bir dizi
String[] isimler; // String türünde bir dizi

Diziler, tanımlandıktan sonra belirli bir boyutta oluşturulmalıdır:

sayilar = new int[5]; // 5 elemanlı bir int dizisi
isimler = new String[3]; // 3 elemanlı bir String dizisi

Aynı satırda tanımlama ve boyut belirleme de yapılabilir:

int[] sayilar = new int[5];
String[] isimler = new String[3];

3. Dizi Elemanlarına Erişim

Dizi elemanlarına indeks numaraları ile erişilir. İndeksler 0'dan başlar.

sayilar[0] = 10; // Dizinin ilk elemanına 10 değeri atandı
sayilar[1] = 20; // Dizinin ikinci elemanına 20 değeri atandı

Örnek: 

int[] sayilar = new int[3];
sayilar[0] = 10;
sayilar[1] = 20;
sayilar[2] = 30;

System.out.println(sayilar[0]); // 10
System.out.println(sayilar[1]); // 20
System.out.println(sayilar[2]); // 30

4. Dizi Elemanlarını Başlatma

Dizi elemanları tanımlama sırasında da başlatılabilir:

int[] sayilar = {10, 20, 30, 40, 50};
String[] isimler = {"Ali", "Veli", "Ayşe"};

5. Dizi Uzunluğu

Dizinin uzunluğunu (eleman sayısını) öğrenmek için length özelliği kullanılır:

int[] sayilar = {10, 20, 30, 40, 50};
System.out.println(sayilar.length); // 5

6. Dizi ile Döngü Kullanımı

Diziler genellikle döngüler ile birlikte kullanılır. Örneğin, bir dizinin tüm elemanlarını ekrana yazdırmak için:

int[] sayilar = {10, 20, 30, 40, 50};
for (int i = 0; i < sayilar.length; i++) {
    System.out.println(sayilar[i]);
}

Veya gelişmiş for döngüsü (for-each) kullanarak:

for (int sayi : sayilar) {
    System.out.println(sayi);
}

7. Çok Boyutlu Diziler

Java'da çok boyutlu diziler de tanımlanabilir. Örneğin, 2 boyutlu bir dizi (matris):

int[][] matris = new int[3][3]; // 3x3'lük bir matris
matris[0][0] = 1;
matris[0][1] = 2;
matris[0][2] = 3;
matris[1][0] = 4;
matris[1][1] = 5;
matris[1][2] = 6;
matris[2][0] = 7;
matris[2][1] = 8;
matris[2][2] = 9;

Çok boyutlu dizileri başlatma:

int[][] matris = {
    {1, 2, 3},
    {4, 5, 6},
    {7, 8, 9}
};

8. Android Studio'da Dizi Kullanımı

Android Studio'da diziler, özellikle ListView, RecyclerView gibi bileşenlerde verileri saklamak ve işlemek için sıkça kullanılır. Örneğin, bir ListView'a veri eklemek için:

String[] isimler = {"Ali", "Veli", "Ayşe"};
ArrayAdapter<String> adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, isimler);
ListView listView = findViewById(R.id.listView);
listView.setAdapter(adapter);

9. Örnek Uygulama

Aşağıda, bir dizinin elemanlarını toplayan ve ortalamasını hesaplayan basit bir örnek bulunmaktadır:

public class MainActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        int[] sayilar = {10, 20, 30, 40, 50};
        int toplam = 0;

        for (int sayi : sayilar) {
            toplam += sayi;
        }

        double ortalama = (double) toplam / sayilar.length;
        System.out.println("Toplam: " + toplam);
        System.out.println("Ortalama: " + ortalama);
    }
}

Soru: Tanımlanan dizi içindeki sayılardan en büyük ve en küçük olanını bulup yazan programı yapınız.

public class Diziler {
    public static void main(String[] args) {
        int[] sayilar = {10, 20, 30, 40, 50, 80, 25};
   
        int enBuyuk = sayilar[0];
        int enKucuk = sayilar[0];

        for (int sayi : sayilar) {
            if (sayi > enBuyuk) {
                enBuyuk = sayi;
            }
            if (sayi < enKucuk) {
                enKucuk = sayi;
            }
        }
        System.out.println("En büyük ="+ enBuyuk);
        System.out.println("En Küçük ="+ enKucuk);
    }
}