PHP break ve continue
Döngü akışını break ve continue ile kontrol etmeyi öğrenin.
`break` ve `continue` ifadeleri, programlamada döngülerin (loop) çalışma akışını kontrol etmek için kullanılan iki anahtar kelimedir. İkisi de döngü içinde belirli koşullar altında devreye girer, ancak etkileri tamamen farklıdır.
### `break` Anahtar Kelimesi
* **Ne Yapar?** `break` ifadesi, içinde bulunduğu döngüyü (for veya while) **tamamen sonlandırır**. `break` çalıştırıldığında, döngü anında durur ve program akışı döngüden hemen sonra gelen kod bloğuna geçer.
* **Ne Zaman Kullanılır?**
* Belirli bir koşul sağlandığında artık döngünün devam etmesine gerek kalmadığında (örneğin, bir listede aradığınız elemanı bulduğunuzda).
* Kullanıcıdan bir giriş alıp "çıkış" komutu verildiğinde.
* Bir hata durumu oluştuğunda ve döngünün daha fazla devam etmemesi gerektiğinde.
* **Örnek Senaryo (Python):** Bir sayının asal olup olmadığını kontrol ederken, eğer sayı kendisinden küçük herhangi bir sayıya bölünüyorsa, asal değildir ve kontrol etmeye devam etmeye gerek yoktur.
```python
sayi = 17
for i in range(2, sayi):
if sayi % i == 0:
print(f"{sayi} asal değildir.")
break # Sayı bölündüğü anda döngüyü tamamen bitir.
else: # Bu 'else' bloğu, döngü 'break' ile bitirilmezse çalışır.
print(f"{sayi} asal bir sayıdır.")
print("Döngüden sonraki kod.")
```
**Çıktı (sayi=17 için):**
```
17 asal bir sayıdır.
Döngüden sonraki kod.
```
**Çıktı (sayi=15 için):**
```
15 asal değildir.
Döngüden sonraki kod.
```
(15 için, `i=3` olduğunda `15 % 3 == 0` koşulu sağlanır, `print` çalışır ve `break` döngüyü bitirir. `else` bloğu çalışmaz.)
### `continue` Anahtar Kelimesi
* **Ne Yapar?** `continue` ifadesi, içinde bulunduğu döngünün **o anki iterasyonunu (adımını) atlar** ve döngünün bir sonraki iterasyonuna geçer. Yani, `continue`'dan sonra gelen kodlar o iterasyon için çalıştırılmaz.
* **Ne Zaman Kullanılır?**
* Belirli koşullar altında mevcut döngü adımındaki kalan işlemleri atlamak ve bir sonraki adıma geçmek istendiğinde (örneğin, negatif sayıları veya geçersiz verileri işlemek istemediğinizde).
* Sadece belirli koşulları sağlayan öğelerle çalışmak istediğinizde.
* **Örnek Senaryo (Python):** Bir listedeki sayılardan sadece çift olanları yazdırmak, tek olanları atlamak.
```python
sayilar = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
for sayi in sayilar:
if sayi % 2 != 0: # Eğer sayı tek ise...
continue # ...bu iterasyonu atla, bir sonraki sayıya geç.
print(f"{sayi} çift bir sayıdır.")
print("Döngüden sonraki kod.")
```
**Çıktı:**
```
2 çift bir sayıdır.
4 çift bir sayıdır.
6 çift bir sayıdır.
8 çift bir sayıdır.
10 çift bir sayıdır.
Döngüden sonraki kod.
```
(Tek sayılar (`1`, `3`, `5` vb.) geldiğinde, `continue` çalışır ve `print` ifadesi o iterasyon için atlanır.)
### Temel Fark Özet Tablosu
| Özellik | `break` | `continue` |
| :---------------- | :--------------------------------------- | :--------------------------------------- |
| **Etki Alanı** | Döngünün tamamını sonlandırır. | Döngünün o anki iterasyonunu atlar. |
| **Döngüye Etkisi** | Döngü tamamen durur, bir daha çalışmaz. | Döngü bir sonraki iterasyondan devam eder. |
| **Akış Kontrolü** | Döngüden çıkar. | Döngünün başına (bir sonraki iterasyon için) döner. |
| **Benzerlik** | "Acil çıkış", "oyunu bırakma" | "Reklamları atlama", "sıkıcı sahneyi ileri sarma" |
### Basit Analoji
Bir film izlediğinizi düşünün:
* **`break`:** Filmin ortasında bir yere gelip "Bu film çok sıkıcı/kötü, kapatıyorum!" deyip filmi tamamen kapatıp çıkmak gibidir. Film artık devam etmez.
* **`continue`:** Filmin ortasında sıkıcı veya gereksiz bir sahneye gelip "Şu sahneyi hızlıca ileri sarayım, diğer sahneye geçeyim." demek gibidir. O sahneyi atladınız ama film genel olarak devam ediyor.
Her iki ifade de döngülerin daha esnek ve koşullara bağlı çalışmasını sağlayarak kodunuzu daha verimli hale getirir.
Son Paylaşımlar
-
Python Temelleri Genel Tekrar
14:39:24 - 13/12/2025 -
Python Performans İpuçları
14:38:59 - 13/12/2025 -
Python’da Temiz Kod Yazma
14:38:28 - 13/12/2025 -
Python Mini Proje: Sayı Tahmin Oyunu
14:37:58 - 13/12/2025 -
Python Mini Proje: Hesap Makinesi
14:37:31 - 13/12/2025