
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