

7. Döngüler (for, while, do-while, foreach)
Java programlama dilinde, döngüler, belirli bir kod bloğunu tekrar tekrar çalıştırmak için kullanılan temel kontrol yapılarından biridir. Döngüler, aynı işlemi birden çok kez yapmanız gerektiğinde kodunuzu daha verimli ve okunaklı hale getirir. Bu makalede, Java’da bulunan başlıca döngü türlerini (for
, while
, do-while
ve foreach
) ayrıntılı olarak inceleyeceğiz ve örneklerle nasıl kullanıldıklarını göstereceğiz.
Döngülerin Önemi
Döngüler, programlamanın temel taşlarından biridir. Tekrarlayan görevleri otomatikleştirerek kod yazma sürecini hızlandırır ve karmaşıklığı azaltır. Örneğin, bir dizideki tüm elemanları yazdırmak, bir listedeki verileri işlemek veya belirli bir koşul sağlanana kadar bir işlemi sürdürmek gibi birçok senaryoda döngülere ihtiyaç duyulur.
for
Döngüsü
for
döngüsü, belirli bir sayıda tekrar yapmak istediğinizde idealdir. Başlangıç değeri, döngü koşulu ve artırma/azaltma ifadesi olmak üzere üç ana bölümden oluşur.
for
Döngüsünün Sözdizimi
for (başlangıç; koşul; artırma/azaltma) {
// Tekrar edilecek kod bloğu
}
- Başlangıç: Döngü değişkenini tanımlar ve başlangıç değerini atar. Bu bölüm döngünün başında yalnızca bir kez çalışır.
- Koşul: Döngünün devam edip etmeyeceğini belirleyen bir boolean ifadesidir. Koşul doğru (
true
) olduğu sürece döngü çalışmaya devam eder. - Artırma/Azaltma: Döngü değişkeninin değerini her yinelemede günceller. Bu bölüm, döngüdeki kod bloğu çalıştıktan sonra çalışır.
for
Döngüsü Örneği
Aşağıdaki örnek, 1’den 10’a kadar olan sayıları ekrana yazdırır:
public class ForLoopExample {
public static void main(String[] args) {
for (int i = 1; i <= 10; i++) {
System.out.println(i);
}
}
}
while
Döngüsü
while
döngüsü, belirli bir koşul doğru olduğu sürece bir kod bloğunu tekrar tekrar çalıştırmak için kullanılır. Döngü koşulu, döngü başlamadan önce kontrol edilir. Eğer koşul başlangıçta yanlışsa (false
), döngü hiç çalışmaz.
while
Döngüsünün Sözdizimi
while (koşul) {
// Tekrar edilecek kod bloğu
}
while
Döngüsü Örneği
Aşağıdaki örnek, bir sayacın değerini 5’ten 1’e düşürür ve her adımda değeri ekrana yazdırır:
public class WhileLoopExample {
public static void main(String[] args) {
int sayac = 5;
while (sayac >= 1) {
System.out.println(sayac);
sayac--;
}
}
}
do-while
Döngüsü
do-while
döngüsü, while
döngüsüne benzer, ancak döngü koşulu, döngü bloğu çalıştıktan sonra kontrol edilir. Bu, döngü bloğunun en az bir kez çalışmasını garanti eder.
do-while
Döngüsünün Sözdizimi
do {
// Tekrar edilecek kod bloğu
} while (koşul);
do-while
Döngüsü Örneği
Aşağıdaki örnek, kullanıcıdan bir sayı girmesini ister ve sayı 0’dan küçük olduğu sürece tekrar sorar:
import java.util.Scanner;
public class DoWhileLoopExample {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int sayi;
do {
System.out.print("Lütfen 0'dan büyük bir sayı girin: ");
sayi = scanner.nextInt();
} while (sayi <= 0);
System.out.println("Girilen sayı: " + sayi);
}
}
foreach
Döngüsü (Gelişmiş for
Döngüsü)
foreach
döngüsü, diziler ve koleksiyonlar gibi veri yapıları üzerinde iterasyon yapmak için kullanılır. Her elemanı tek tek işlemek için kolay ve okunaklı bir yol sağlar. Java’da, for-each
döngüsü olarak da bilinir.
foreach
Döngüsünün Sözdizimi
for (veriTipi eleman : diziVeyaKoleksiyon) {
// Eleman üzerinde yapılacak işlemler
}
- veriTipi: Dizideki veya koleksiyondaki elemanların veri türü.
- eleman: Diziden veya koleksiyondan alınan her bir elemanı temsil eden değişken.
- diziVeyaKoleksiyon: Üzerinde iterasyon yapılacak dizi veya koleksiyon.
foreach
Döngüsü Örneği
Aşağıdaki örnek, bir string dizisindeki tüm elemanları ekrana yazdırır:
public class ForeachLoopExample {
public static void main(String[] args) {
String[] meyveler = {"Elma", "Armut", "Muz", "Çilek"};
for (String meyve : meyveler) {
System.out.println(meyve);
}
}
}
Döngü Kontrol İfadeleri: break
ve continue
Döngülerin akışını kontrol etmek için break
ve continue
ifadeleri kullanılabilir.
break
İfadesi
break
ifadesi, döngüyü tamamen sonlandırır ve döngüden sonraki ilk ifadeye geçilir.
continue
İfadesi
continue
ifadesi, döngünün mevcut iterasyonunu atlar ve bir sonraki iterasyona geçer.
Örnek
public class LoopControlExample {
public static void main(String[] args) {
for (int i = 1; i <= 10; i++) {
if (i == 5) {
break; // Döngüyü sonlandırır
}
if (i % 2 == 0) {
continue; // Mevcut iterasyonu atlar
}
System.out.println(i);
}
System.out.println("Döngü sona erdi.");
}
}
Bu örnekte, break
ifadesi i
5 olduğunda döngüyü sonlandırırken, continue
ifadesi çift sayıları atlar.
Sonuç
Java’da döngüler, tekrar eden görevleri verimli bir şekilde yönetmek için güçlü araçlardır. for
, while
, do-while
ve foreach
döngüleri, farklı senaryolara uygun çözümler sunar. Döngülerin nasıl çalıştığını anlamak ve uygun döngü türünü seçmek, daha temiz, daha okunaklı ve daha verimli kod yazmanıza yardımcı olur. break
ve continue
ifadeleri ile döngülerin akışını daha da kontrol edebilirsiniz.

Bir yanıt bırakın