📘 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