Skip to main content

☕ 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Önceden0Koşula bağlı belirsiz tekrarlar
do-whileSonradan1En az bir kez çalışacak görevler
forÖnceden0Sayısı belli yinelemeler
foreachDahiliKoleksiyon uzunluğu kadarDizi ve koleksiyonlar

❓ Sıkça Sorulan Sorular (SSS)

  1. 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.

  1. foreach neden popülerdir?

Diziler veya listelerdeki her elemanı otomatik olarak gezer. Sayaç tutma zorunluluğunu kaldırır.

  1. Sonsuz döngüler zararlı mı?

Eğer kasıtlı değilse evet. Programın çökmesine veya sistemi kilitlemesine neden olabilir.

  1. 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.

  1. 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.