Bu ders notu, programlamanın temel taşlarından olan karar yapılarını (koşullu ifadeleri) anlamanı ve "Eğer - If/Else" testinde başarılı olmanı sağlayacak kilit bilgileri içermektedir. Programların belirli şartlara göre farklı davranışlar sergilemesini sağlayan bu yapılar, algoritmaların beynidir.
Karar yapıları, bir programın belirli bir koşulun doğru olup olmadığına bağlı olarak farklı kod bloklarını çalıştırmasını sağlayan programlama constructs'larıdır. Yani, programınızın "eğer bu olursa, şunu yap; değilse, bunu yap" gibi kararlar almasına olanak tanır.
if ifadesi, en temel karar yapısıdır. Belirtilen koşul doğru (true) ise, o koşula ait kod bloğu çalıştırılır.
if (koşul) { // koşul doğruysa çalışacak kod }💡 İpucu: Koşul her zaman bir doğru/yanlış (true/false) değeri döndüren bir ifade olmalıdır.
else ifadesi, bir if ifadesiyle birlikte kullanılır ve if koşulunun yanlış (false) olması durumunda çalıştırılacak alternatif bir kod bloğu tanımlar.
if (koşul) { // koşul doğruysa } else { // koşul yanlışsa }if koşulu kontrol edilir. Eğer yanlışsa, else bloğundaki kod çalışır. Yani, iki yoldan sadece biri mutlaka çalışır.⚠️ Dikkat: else ifadesi tek başına kullanılamaz, mutlaka bir if ifadesini takip etmelidir.
Birden fazla koşulu ardışık olarak kontrol etmek istediğimizde else if (bazı dillerde elif) ifadesini kullanırız. Bu, birden fazla alternatif yol tanımlamamızı sağlar.
if (koşul1) { ... } else if (koşul2) { ... } else { ... }else if veya else blokları atlanır. Hiçbir koşul doğru değilse, en sondaki else bloğu çalışır (eğer varsa).📝 Örnek: Bir öğrencinin notuna göre harf notu vermek. Önce 90 üstü mü, sonra 80 üstü mü diye bakılır.
Koşulları oluştururken değerleri birbiriyle karşılaştırmak için bu operatörleri kullanırız. Sonuçları her zaman doğru (true) veya yanlış (false) olur.
== (Eşittir): İki değerin birbirine eşit olup olmadığını kontrol eder. (Örn: $x == 5$)!= (Eşit Değildir): İki değerin birbirinden farklı olup olmadığını kontrol eder. (Örn: $y != 10$)< (Küçüktür): Sol taraftaki değerin sağ taraftakinden küçük olup olmadığını kontrol eder. (Örn: $a < b$)> (Büyüktür): Sol taraftaki değerin sağ taraftakinden büyük olup olmadığını kontrol eder. (Örn: $c > 7$)<= (Küçük Eşittir): Sol taraftaki değerin sağ taraftakinden küçük veya eşit olup olmadığını kontrol eder. (Örn: $yas <= 18$)>= (Büyük Eşittir): Sol taraftaki değerin sağ taraftakinden büyük veya eşit olup olmadığını kontrol eder. (Örn: $puan >= 50$)⚠️ Dikkat: Tek eşittir = atama operatörüdür (bir değişkene değer verir). Çift eşittir == ise karşılaştırma operatörüdür (iki değeri karşılaştırır). Bu ikisini karıştırmamak çok önemlidir!
Birden fazla koşulu birleştirmek veya bir koşulun mantıksal değerini tersine çevirmek için mantıksal operatörleri kullanırız.
AND (VE): İki koşulun da doğru olması durumunda genel koşul doğru olur. (Örn: $yas > 18 \text{ AND } ehliyetVarMi == \text{true}$)OR (VEYA): İki koşuldan en az birinin doğru olması durumunda genel koşul doğru olur. (Örn: $havaGunesli == \text{true} \text{ OR } sicaklik > 25$)NOT (DEĞİL): Bir koşulun mantıksal değerini tersine çevirir. Doğruyu yanlışa, yanlışı doğruya çevirir. (Örn: $!ehliyetVarMi$ (ehliyet yoksa))💡 İpucu: Mantıksal operatörler, daha karmaşık ve detaylı karar yapıları oluşturmanızı sağlar.
Bazen bir koşulun doğru olması durumunda, yeni bir koşulu daha kontrol etmemiz gerekebilir. Bu durumda bir if ifadesinin içine başka bir if ifadesi yerleştirebiliriz.
⚠️ Dikkat: İç içe if yapıları kodun okunabilirliğini azaltabilir. Çok fazla iç içe geçmek yerine, mantıksal operatörleri veya farklı karar yapılarını değerlendirmek daha iyi olabilir.