☕ Java'da Döngüler (Loops) Nasıl Kullanılır?
Programlamada tekrarlayan görevleri yazmak yerine döngüler kullanmak, hem okunabilirliği artırır hem de kod tekrarını azaltır.
Bu rehberde Java’daki while, do-while, for ve foreach döngülerini örneklerle öğreneceksiniz.
🧠 Teknik Özet
Ana konu: Java’daki döngü (loop) yapılarının kullanımı
Amaç: Tekrarlayan işlemleri dinamik, yönetilebilir ve hatasız biçimde yürütmek
🔁 Java Döngü Türleri
1. while Döngüsü
Bir koşul doğru olduğu sürece kod bloğunu tekrarlar.
int x = 3;
while (x > 0) {
System.out.println("x değeri: " + x--);
}
Bu döngü, x 0 olana kadar çalışır ve her seferinde x’i 1 azaltır.
Önemli: Döngü sonunda koşulun yanlış hale gelmesini sağlayacak bir işlem (örneğin x--) eklenmelidir. Aksi halde sonsuza kadar devam eder.
2. do-while Döngüsü
Koşulu sonradan kontrol eder. Kod bloğu en az bir kez çalışır.
int y = 3;
do {
System.out.println("y değeri: " + y--);
} while (y < 0);
Bu örnekte koşul baştan yanlış olsa bile "y değeri: 3" çıktısı alınır.
Kullanım Alanı:
Kullanıcıdan en az bir kez girdi almak veya işlemi koşuldan önce başlatmak istenen durumlar.
3. for Döngüsü
Kaç kez çalışacağını bildiğiniz durumlar için idealdir.
for (int z = 3; z > 0; z--) {
System.out.println("z değeri: " + z);
}
Bu döngü, z 3’ten 1’e kadar değer alırken çalışır.
Avantajı:
Başlangıç, koşul ve değişken artışı aynı satırda tanımlandığından kod temiz ve hatasız olur.
4. foreach Döngüsü (Gelişmiş For)
Bir koleksiyon veya dizi üzerindeki tüm elemanları kolayca dolaşır.
int[] sayilar = {0, 1, 2};
for (int sayi : sayilar) {
System.out.println(sayi);
}
Bu döngü dizinin her elemanını sırasıyla yazdırır: 0, 1, 2.
Avantajı:
Eleman sayısını bilmeye gerek yoktur. Diziler, listeler veya set’ler için standart bir yöntemdir.
⚠️ Sonsuz Döngüler (Infinite Loops)
💥 Yanlışlıkla Oluşan Sonsuz Döngü
Koşulda kullanılan değişkeni güncellemezseniz döngü bitmez.
int sayac = 3;
while (sayac > 0) {
System.out.println("Sonsuza kadar dönecek...");
// HATA: sayac azaltılmadı!
}
Çözüm:
Koşulu bozacak bir işlem ekleyin:
sayac--;
♾️ Bilinçli Sonsuz Döngü
Bazı durumlarda sürekli çalışan görevlerde kasıtlı kullanılabilir.
while (true) {
System.out.println("Bu metin sürekli basılacak.");
// CTRL+C ile durdurabilirsiniz.
}
Ancak modern uygulamalarda bunun yerine Timer veya planlanmış görevler tercih edilir.
🔍 Döngü Türleri Karşılaştırması
| Döngü Türü | Koşul Kontrol Zamanı | Minimum Çalışma Sayısı | Kullanım Alanı |
|---|---|---|---|
| while | Önceden | 0 | Koşula bağlı belirsiz tekrarlar |
| do-while | Sonradan | 1 | En az bir kez çalışacak görevler |
| for | Önceden | 0 | Sayısı belli yinelemeler |
| foreach | Dahili | Koleksiyon uzunluğu kadar | Dizi ve koleksiyonlar |
❓ Sıkça Sorulan Sorular (SSS)
- while ve for döngüleri arasındaki fark nedir?
for döngüsü yineleme sayısı biliniyorsa tercih edilir. while döngüsü koşula bağlı tekrarlar için uygundur.
- foreach neden popülerdir?
Diziler veya listelerdeki her elemanı otomatik olarak gezer. Sayaç tutma zorunluluğunu kaldırır.
- Sonsuz döngüler zararlı mı?
Eğer kasıtlı değilse evet. Programın çökmesine veya sistemi kilitlemesine neden olabilir.
- Döngüleri durdurmak için hangi komut kullanılır?
break döngüyü hemen sonlandırır. continue ise sadece o adımı atlayıp döngüye devam eder.
- Döngü performansı nasıl ölçülür?
Büyük veri setlerinde System.nanoTime() veya Instant.now() kullanarak işlem süresini ölçebilirsiniz.
🏁 Sonuç
Bu rehberde Java’da while, do-while, for ve foreach döngülerinin nasıl çalıştığını ve hangi durumda hangisinin tercih edilmesi gerektiğini öğrendiniz. Artık tekrarlayan işlemleri daha temiz, güvenli ve optimize biçimde yazabilirsiniz.