C# dilinde, istediğimiz bir şartın gerçekleşip gerçekleşmemesine göre karar verdirip işlem yaptırmaya yarayan yapı if else yapısıdır. Kullanımı bu şekildedir:
if (şart) { //Gerçekleşmesi halinde çalışacak komutlar// } else if (şart) { } else { //Yukarıdaki iki şartında gerçekleşmediği durumlarda çalışacak komutlar// } |
İlk olarak if yapısı ile verilen şartın sağlanması durumunda { işareti sonrası verilen komutlar çalışacaktır. Fakat eğer if yapısında verilen şart sağlanmaz ise if else yapısı çalışacaktır. Eğer o şart da gerçekleşmez ise yani verdiğimiz tüm şartlardan hiç biri sağlanmaz ise else yapısı çalışacaktır.
Uyarı: else if ve else yapısını kullanmak zorunda değiliz. Örnek olarak; Ders notlarına göre kaldı veya geçti komutu veren bir uygulama yazalım. Bu uygulamada şartımız girilen değerin 50 sayısına eşit veya daha yüksek olması. Bu şart gerçekleşir ise “Geçtiniz”, gerçekleşmez ise “Kaldınız” yazacak eğer yanlış bir değer girildiyse ise “Tekrar ve doğru bir biçimde giriniz.” değeri yazılacaktır.
int not; Console.WriteLine(“İstediğiniz dersin ortalamasını yüzlük sisteme göre giriniz.”); not = Convert.toInt16(Console.ReadLine()); if (not >= 50) { Console.WriteLine(“Geçtiniz.”); } else if (not <= 50) { Console.WriteLine(“Kaldınız.”); } else { Console.WriteLine(“Tekrar ve doğru bir biçimde giriniz.”); } Console.ReadKey(); |
İlk olarak kişiden ders ortalamasını girmesi istedik ve kişinin girdiği değeri ReadLine metodu ile okuttuk ve notu adlı integer değişkenine tanımladık. Fakat burada önemli bir şey var. Daha önceki derslerimizde belirttiğimiz gibi String dışındaki tüm değişkenleri eşitlerken Convert metodu ile aynı değişkene dönüştürmeliyiz. Ardından kişinin girdiği değeri tanımladığımız notu değişkeni için şartlarımızı girdik. En son olarak da şartların dışına ReadKey metodunu koyduk ve şartın sonucunun bir tuşa basılana kadar bekletilmesini sağladık.
If kelime olarak İngilizce dilinde “Eğer”, Else ise “Değil ise” anlamını taşımaktadır.
If Else Örnekleri
Örnek 1:
Askere gidip gidemeyeceğimizin kararını veren bir uygulama yazalım. Bu uygulamada şartlarımız kişinin hem 18 yaşında olması hemde erkek cinsiyetinde olması. Bu kararların hepsi olduğunda askere gidebilirsiniz, eğer biri veya hepsi olumsuz ise gidemezsiniz cevabını verecektir.
int yas = 18; String cinsiyet = “erkek”; if (yas >= 18 && cinsiyet == “erkek”) { Console.WriteLine(“Yaşınız {0}, cinsiyetiniz ise {1}. Askere gidebilirsiniz.”,yas,cinsiyet); } else { Console.WriteLine(“Askere gidemezsiniz.”); } Console.ReadKey(); |
Gördüğünüz gibi programı çalıştırdığımızda “Askere gidebilirsiniz.” cevabını almış olacağız. Çünkü yas değişkeninin içine 18, cinsiyet değişkeninin içine ise erkek değişkenini attık.
İlerde göreceğimiz karar yapılarından biri olan if (Eğer) yapısı ile bir karar uygulaması yaptık. Eğer yaşımız 18 ise ve cinsiyetimiz erkek ise “Yaşınız 18, cinsiyetiniz ise erkek. Askere gidebilirsiniz.” değerini yazacaktır. Aksi taktirde else (değil ise) yapısı çalışıp “Askere gidemezsiniz.” değeri yazdırılacaktı.
Kodumuzda yas değeri integer bir değişken olduğundan direk olarak == fonksiyonu ile yas değişkeninin 18 sayısına eşit olup olmadığını sorguladık.
&& (Ve) operatörünü iki şartın ortasına koyduk ve daha sonra String tipi bir cinsiyet değişkeninin içinde “erkek” olup olmadığını sorguladık. Ama burada önemli bir nokta var. String tipinde bir eşitlik karşılaştırması yaptığımızdan şartımızı yazarken erkek şartının başına ve sonuna ” çift tırnak işaretini koyduk. Eğer koymasaydık programımız değerin String olduğunu anlamayacak ve hata verecekti.
Örnek 2:
Bu örneğimizde basit bir üye giriş sistemi yapalım. İlk olarak bir şifre ve kullanıcı adı belirleyeceğiz ve kullanıcıdan bilgileri isteyeceğiz. Eğer yanlış bilgiler girilirse programımız “Yanlış bilgi girdiniz.”, doğru bilgiler girilirse “Hoş geldiniz.” değerini yazdıracaktır.
String kullaniciadi,sifre; Console.WriteLine(“Lütfen kullanıcı adınızı giriniz.”); kullaniciadi = Console.ReadLine(); Console.WriteLine(“Lütfen şifrenizi giriniz.”); sifre = Console.ReadLine(); if(kullaniciadi == “Admin” && sifre == “”admin123″) { Console.WriteLine(“Hoş Geldiniz.”); } else { Console.WriteLine(“Yanlış bilgi girdiniz.”); } Console.ReadLine(); |