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);
}
}