Hayatta sürekli karar verirsin. Hava yağmurluysa şemsiye alırsın. Açsan yemek yersin. Geç kaldıysan daha hızlı hazırlanırsın.
Yazılımda da aynı mantık vardır. Program bazı durumlara bakar ve ona göre farklı davranır. İşte bu yapıya karar yapısı denir.
bool yagmurYagiyor = true;
if (yagmurYagiyor)
{
Console.WriteLine("Şemsiyeni al.");
}
Karar yapıları olmadan programlar herkese, her durumda aynı tepkiyi verirdi. Bu da yazılımı kör ve cansız hale getirirdi.
Bir giriş ekranı düşün: şifre doğruysa içeri almalı, yanlışsa hata vermeli. İşte bu farkı yaratan şey if / else mantığıdır.
if kısmı koşul doğruysa çalışır. else kısmı ise koşul yanlışsa devreye girer.
Bunu kapı örneğiyle düşün: kartın geçerliyse kapı açılır, değilse kapı kapalı kalır.
int yas = 17;
if (yas >= 18)
{
Console.WriteLine("Giriş yapabilirsiniz.");
}
else
{
Console.WriteLine("Giriş yapamazsınız.");
}
Bazen iki seçenek yetmez. Not sistemini düşün: 90 üstü A, 70 üstü B, 50 üstü C gibi farklı durumlar olabilir.
Böyle durumlarda else if kullanılır. Böylece program birden fazla ihtimali sırayla kontrol eder.
int not = 78;
if (not >= 90)
{
Console.WriteLine("A");
}
else if (not >= 70)
{
Console.WriteLine("B");
}
else if (not >= 50)
{
Console.WriteLine("C");
}
else
{
Console.WriteLine("Kaldı");
}
Karar yapıları basit görünür ama temiz yazılmazsa kodu çabuk karmaşıklaştırır. Bu yüzden bazı temel kuralları erken öğrenmek çok faydalıdır: