5.4 – break ve continue Kullanımı


📘 5.4 – break ve continue Kullanımı


🔹 Açıklama:

Döngülerin kontrolü bazen yalnızca koşulla değil, belirli olaylar karşısında manuel olarak yönlendirilmelidir. break komutu döngüyü aniden sonlandırırken, continue komutu o adımı atlayarak döngüye devam edilmesini sağlar.

Bu bölümde:

  • Döngü belirli bir koşulda erken sonlandırılacak
  • İstenen değer geldiğinde çıkan döngü örnekleri
  • Belirli koşulda o adımı atlayan (continue) uygulamalar
  • break ve continue kullanımıyla daha okunabilir kod örnekleri üretilecek

📍 Kullanım Alanları:

  • Şifre girerken belirli yanlış sayısından sonra girişin engellenmesi
  • Kullanıcının “iptal” komutu verdiğinde döngüden çıkma
  • Belirli veri geldiğinde işlem bitirme (örn. sayı tahmininde doğru cevap)
  • Listeleme işlemlerinde bazı değerleri atlamak
  • Karmaşık döngülerde kod okunabilirliğini artırmak

🎯 Kazanımlar:

  • Döngü kontrol akışını yönetme
  • break ve continue farklarını kavrama
  • Hatalı adımı atlama veya işlemi sonlandırma uygulamaları yazma
  • Daha kontrollü ve kullanıcı dostu uygulamalar geliştirme
  • Profesyonel döngü tasarımına geçiş yapma

🧪 5.4 – break ve continue Kullanımı: Uygulamalı 5 Örnek


📌 Örnek 1: Belirli Sayı Geldiğinde Döngüyü Sonlandır (break)

🎯 Amaç:
1’den 100’e kadar sayılar listelenirken, 42 sayısına gelince döngüyü durdur.

🎨 Form Elemanları:

  • btnBaslat, lstSayilar

💻 Kod:

private void btnBaslat_Click(object sender, EventArgs e)
{
    lstSayilar.Items.Clear();

    for (int i = 1; i <= 100; i++)
    {
        if (i == 42)
            break;

        lstSayilar.Items.Add(i);
    }
}

📝 Açıklama:
42’ye ulaşıldığında break komutu ile döngü tamamen durur.


📌 Örnek 2: Belirli Sayıları Atlayarak Listele (continue)

🎯 Amaç:
1–20 arasındaki sayıları listelerken 5’in katlarını atla.

🎨 Form Elemanları:

  • btnGoster, lstAtla

💻 Kod:

private void btnGoster_Click(object sender, EventArgs e)
{
    lstAtla.Items.Clear();

    for (int i = 1; i <= 20; i++)
    {
        if (i % 5 == 0)
            continue;

        lstAtla.Items.Add(i);
    }
}

📝 Açıklama:
5’in katlarında continue ile o adımı geç, bir sonraki sayıya devam et.


📌 Örnek 3: Kullanıcı “iptal” Girerse Döngüden Çık (break)

🎯 Amaç:
Kullanıcıdan isim alınır. “iptal” girildiğinde döngü sonlanır.

🎨 Form Elemanları:

  • txtIsim, btnEkle, lstIsimler

💻 Kod:

private void btnEkle_Click(object sender, EventArgs e)
{
    string isim = txtIsim.Text;

    while (true)
    {
        if (isim.ToLower() == "iptal")
            break;

        lstIsimler.Items.Add(isim);
        break; // Bu örnek 1 giriş için çalışır. Gerçek döngü için formda kullanıcı etkileşimi gerek.
    }
}

📝 Açıklama:
Kullanıcı “iptal” yazarsa break döngüyü keser.


📌 Örnek 4: Hatalı Girişleri Atla (continue)

🎯 Amaç:
Kullanıcıdan sayı alınır. Negatif değerler continue ile işleme alınmaz.

🎨 Form Elemanları:

  • txtDeger, btnEkle, lstPozitif

💻 Kod:

List<int> sayilar = new List<int>();

private void btnEkle_Click(object sender, EventArgs e)
{
    int deger = Convert.ToInt32(txtDeger.Text);

    if (deger < 0)
    {
        MessageBox.Show("Negatif sayılar işlenmez.");
        return; // veya continue yerine burada return de kullanılabilir
    }

    sayilar.Add(deger);
    lstPozitif.Items.Add(deger);
}

📝 Açıklama:
Negatif sayı geldiğinde işlem yapılmadan geçilir.


📌 Örnek 5: Tahmin Oyunu – Doğru Sayı Bulununca Sonlandır (break)

🎯 Amaç:
Rastgele belirlenen sayıyı kullanıcı bulmaya çalışır. Doğruysa break.

🎨 Form Elemanları:

  • txtTahmin, btnTahmin, lblDurum

💻 Kod:

Random rnd = new Random();
int dogruSayi = rnd.Next(1, 10); // global değişken olarak

private void btnTahmin_Click(object sender, EventArgs e)
{
    int tahmin = Convert.ToInt32(txtTahmin.Text);

    while (true)
    {
        if (tahmin == dogruSayi)
        {
            lblDurum.Text = "Tebrikler, doğru tahmin!";
            break;
        }
        else
        {
            lblDurum.Text = "Yanlış tahmin. Tekrar deneyin.";
            break;
        }
    }
}

📝 Açıklama:
Doğru tahmin yapılınca break ile döngü sona erer.


✅ Özet:

Bu bölümle öğrenciler:

  • Döngüyü belirli durumlarda nasıl kontrol edeceklerini öğrenir
  • Gereksiz adımları atlamayı (continue), işi erken bitirmeyi (break) kavrar
  • Daha verimli, kullanıcı odaklı döngü yapıları oluşturur
  • Program akışını yöneten kontrollü kodlar yazar

Leave a Reply