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
Kategoriler