Döngüler Nedir?

Döngüler, belirli bir işlemi birden fazla kez tekrar etmek için kullanılan kontrol yapılandırmalarıdır. Tekrarlayan işleri hızlı ve doğru bir şekilde yapmak için oldukça kullanışlıdırlar. C# dilinde kullanılan üç ana döngü türü vardır:

1. While Döngüsü: Koşula dayalı çalışır.
2. For Döngüsü: Sayı temelli ve belirli iterasyonlar için uygundur.
3. Do While Döngüsü: Koşul kontrolü işlemden sonra yapılır.
Her bir döngü yapısını detaylı olarak inceleyelim.

1. While Döngüsü ile Koşula Bağlı İşlemler

While Döngüsü Nedir?
While
döngüsü, belirtilen koşul doğru olduğu sürece çalışır. Döngünün başında koşul kontrol edilir, bu yüzden eğer koşul baştan yanlışsa, döngü hiç çalışmaz.

Genel Kullanım Şablonu:

while (koşul)
{
    // Koşul doğruysa çalışacak kodlar
}

Basit Bir Örnek

int sayi = 0;

while (sayi < 5)
{
    Console.WriteLine("Sayı: " + sayi);
    sayi++; // Her döngüde sayi 1 artırılır
}

Kod Açıklaması:

sayi değişkeni 0 olarak başlatılır.
sayi < 5 koşulu doğru olduğu sürece döngü çalışır.
• Her iterasyonda sayi bir artırılır ve sonunda 5 olduğunda döngü sona erer.
Sonsuz While Döngüsü
Bazı durumlarda sonsuz bir döngüye ihtiyaç duyulabilir. Bunun için koşul her zaman true olarak ayarlanır:

while (true)
{
    Console.WriteLine("Bu bir sonsuz döngüdür.");
    break; // Döngüyü sonlandırır
}

While Döngüsü Kullanım Alanları

• Kullanıcıdan veri alma: Kullanıcı doğru veri girene kadar döngü devam eder.
• Koşula bağlı tekrarlar: Belirli bir koşul sağlanana kadar işlem yapılır.

2. For Döngüsü ile Belirli Sayıda İşlem

For Döngüsü Nedir?
For döngüsü, tekrar sayısının önceden bilindiği durumlar için kullanılır. Sayaç olarak adlandırılan bir değişken ile döngü kontrol edilir.

Genel Kullanım Şablonu:

for (başlangıç; koşul; artış)
{
    // Koşul doğruysa çalışacak kodlar
}

Basit Bir Örnek

for (int i = 0; i < 5; i++)
{
    Console.WriteLine("İndis: " + i);
}

Kod Açıklaması:

1. i = 0: Döngü başlangıç noktası.
2. i < 5: Koşul, döngünün devam edip etmeyeceğini belirler.
3. i++: Her iterasyonda i bir artırılır.
For Döngüsü ile Dizi İşlemleri

string[] isimler = { "Ali", "Ayşe", "Mehmet", "Zeynep" };

for (int i = 0; i < isimler.Length; i++)
{
    Console.WriteLine("İsim: " + isimler[i]);
}

Dizideki elemanlar sırayla yazdırılır. isimler.Length, dizinin uzunluğunu verir.

For Döngüsü Kullanım Alanları

• Belirli bir aralıkta işlem yapmak.
• Koleksiyon veya dizileri dolaşmak.
• Matematiksel hesaplamalar yapmak.
Örnek: 1’den 10’a Kadar Sayıları Toplama

int toplam = 0;

for (int i = 1; i <= 10; i++)
{
    toplam += i;
}

Console.WriteLine("Toplam: " + toplam);

3. Do While Döngüsü ile Şart Sonrası İşlem

Do While Döngüsü Nedir?
Do While
döngüsü, diğer döngülerden farklı olarak, koşul kontrol edilmeden en az bir kez çalışır.

Genel Kullanım Şablonu:

do
{
    // Kodlar
} while (koşul);

Basit Bir Örnek

int sayi = 0;

do
{
    Console.WriteLine("Sayı: " + sayi);
    sayi++;
} while (sayi < 5);

• İlk iterasyonda sayi kontrol edilmeden yazdırılır.
• Daha sonra koşul kontrol edilir ve doğruysa döngü devam eder.

Do While Döngüsü Kullanım Alanları

• Kullanıcıdan en az bir kez veri almak.
• Menü oluşturmak.
• Rastgele veri işlemleri:
Örnek: Rastgele Sayılar Üretme ve Koşul Sağlama

Random rastgele = new Random();
int sayi;
int toplam = 0;

do
{
sayi = rastgele.Next(1, 100); // 1 ile 99 arasında rastgele bir sayı üret
Console.WriteLine("Üretilen Sayı: " + sayi);
toplam += sayi; // Sayıyı toplama ekle
} while (sayi % 5 != 0); // Koşul: Sayı 5'in katı olana kadar döngü devam etsin

Console.WriteLine("Toplam: " + toplam);

Tüm Döngülerin Bir Arada Kullanıldığı Uygulama

Aşağıda, While, For ve Do While döngülerinin bir arada kullanıldığı bir uygulama verilmiştir. Bu örnek, sabit bir dizi ve belirli işlemleri içeren senaryoyu gösterecektir.

Senaryo:
Bir dizi içinde bulunan sayılar:

• Tek sayılar ayrı bir listeye aktarılır (While).
• Çift sayılar ayrı bir listeye aktarılır (Do While).
• Tek ve çift sayılar yazdırılır ve toplamları hesaplanır (For).

Not: Bu kodu düzgün çalıştırmak için using System.Collections.Generic; kullanmanız gereklidir.
Kod:

// Sabit bir dizi oluştur
int[] sayilar = { 12, 7, 5, 16, 23, 8, 10, 3, 9 };
// Tek ve çift sayı listeleri
List<int> tekSayilar = new List<int>();
List<int> ciftSayilar = new List<int>();
// While ile tek sayıları listeye ekle
int index = 0;
while (index < sayilar.Length)
{
    if (sayilar[index] % 2 != 0) tekSayilar.Add(sayilar[index]);
    index++;
}
// Do While ile çift sayıları listeye ekle
int doIndex = 0;
do
{
    if (sayilar[doIndex] % 2 == 0) ciftSayilar.Add(sayilar[doIndex]);
    doIndex++;
} while (doIndex < sayilar.Length);
// For ile sonuçları yazdır ve toplamları hesapla
Console.WriteLine("Tek Sayılar ve Toplamları:");
int tekToplam = 0;
for (int i = 0; i < tekSayilar.Count; i++)
{
    Console.WriteLine("Tek Sayı: " + tekSayilar[i]);
    tekToplam += tekSayilar[i];
}
Console.WriteLine("Tek Sayılar Toplamı: " + tekToplam);
Console.WriteLine("Çift Sayılar ve Toplamları:");
int ciftToplam = 0;
for (int i = 0; i < ciftSayilar.Count; i++)
{
    Console.WriteLine("Çift Sayı: " + ciftSayilar[i]);
    ciftToplam += ciftSayilar[i];
}
Console.WriteLine("Çift Sayılar Toplamı: " + ciftToplam);

Kapanış

Döngüler, yazılım dünyasında tekrar eden işlemleri kolaylaştıran ve kodunuzu daha düzenli hale getiren temel kontrol yapılarıdır. Bu rehberde, C# dilindeki While, For ve Do While döngülerini detaylı bir şekilde inceledik, kullanım alanlarını keşfettik ve pratik örneklerle pekiştirdik. Döngüleri doğru bir şekilde kullanarak kodlarınızı optimize edebilir ve karmaşık işlemleri daha basit bir şekilde gerçekleştirebilirsiniz.

Daha fazlasını öğrenmek ve döngü becerilerinizi geliştirmek için bu kodları uygulayın, farklı senaryolar deneyin ve kendi projelerinize entegre edin. Unutmayın, bol pratik yaparak programlama yeteneklerinizi ileriye taşıyabilirsiniz! 🎯