If-else yapısı diğer programlama dillerinde olduğu gibi C#’dada, koşullu dallanma ifadesi olarak kullanılmaktadır. Programda alternatifli durumlarla karşılaşıldığında, duruma özgü komutların işletilmesini sağlar. Dallanma işlemlerinde programcıların en çok tercih ettiği yapıdır. If yapısının kendi içerisinde birçok farklı kullanımı bulunmaktadır, bu kullanımları teker teker örneklerle incelemekte fayda var. If bloğu kendi başına kullanılabileceği gibi else bloğuyla kullanımı daha yaygındır.
If-Else ifadesinin genel formu aşağıdaki gibidir.
If (koşul)
{
Koşul doğruysa çalışacak komutlar
}
else
{
Koşul yanlışsa çalışacak komutlar
}
Örneğimize geçmeden önce if-else bloğunun çalışma mantığını kısaca açıklayalım. Program if bloğunun bulunduğu satıra geldiğinde parantez içerisindeki koşul kontrol edilir. Bu koşulun mutlaka true(doğru) yada false(yanlış) bir değer üretmesi gerekir, aksi halde program hata verir. Koşulun durumu true ise if bloğu içerisindeki komutlar çalıştırılır. Koşulun durumu false ise else bloğu içerisindeki komutlar çalıştırılır.
Aşağıdaki örnek konunun anlaşılması açısından önemlidir.
Örnek1: Klavyeden girilen sayının tek mi, çift mi olduğunu bulalım.
1 2 3 4 5 6 7 8 9 |
Console.Write("Bir sayı giriniz:"); int sayi = Convert.ToInt32(Console.ReadLine()); if (sayi % 2 == 0) Console.WriteLine("Sayı Çifttir"); else Console.WriteLine("Sayı Tektir"); Console.ReadKey(); |
Bir sayının ikiye kalansız bölünebilmesi o sayının çift olduğu anlamına gelir, bunu bilmek örneğin anlaşılabilmesi açısından önemlidir. Eğer sayi değişkeninin ikiye bölümünden kalan 0 ise; if bloğundaki komut çalıştırılır, ekrana “Sayı Çifttir” yazılır. Değilse else bloğundaki komut çalıştırılır ekrana, “Sayı Tektir” yazılır.
Not: Eğer if ve else bloklarından sonra tek bir satır kod yazılacaksa süslü parantez kullanmaya gerek yoktur.
Örnek 2: Öğrencinin notu 50 ve üzerinde ise “Geçti” değilse “Kaldı” yazdıran programı yapalım.
1 2 3 4 5 6 7 8 9 |
Console.Write("Öğrencinin notunu giriniz:"); int not = Convert.ToInt32(Console.ReadLine()); if (not>=50) Console.WriteLine("Geçti"); else Console.WriteLine("Kaldı"); Console.ReadKey(); |
Koşul ifadeleri sadece sayısal değerleri kontrol etmek için kullanılmazlar. String, char gibi metinsel değerlerin kontrolü içinde sıklıkla kullanılırlar. Aşağıdaki örnek bu durumu güzel bir şekilde açıklıyor.
Örnek3: Klavyeden girilen şehir bilgisine göre, kişinin başkette oturup, oturmadığını gösteren programı yapalım.
1 2 3 4 5 6 7 8 9 |
Console.Write("Yaşadığınız şehri giriniz:"); string sehir =Console.ReadLine(); if (sehir.ToLower()=="ankara") Console.WriteLine("Başkentte oturuyor."); else Console.WriteLine("Başkentte oturmuyor."); Console.ReadKey(); |
If-Else Merdiveni Kullanımı
Alternatiflerin ikiden fazla olması durumunda if-else merdiven yapısı kullanılır. İf ifadeleri üstten alta doğru kontrol edilir, koşul sağlandığı takdirde o bloktaki kodlar çalıştırılır, diğer deyimler atlanır. Eğer hiçbir if bloğu çalıştırılmazsa son olarak else bloğu çalıştırılarak merdiven tamamlanır.
If-Else Merdiven yapısının genel formu aşağıdaki gibidir.
If (koşul)
İfade1;
else if (koşul)
İfade2;
else if (koşul)
İfade3
else
İfade4;
Not: Koşul kontrolleri yapılırken istenildiği kadar if-else bloğu kullanılabilir.
Örnek4: Öğrencinin notuyla ilgili örneğimizi aşağıdaki gibi değiştirelim.
1 2 3 4 5 6 7 8 9 10 11 |
Console.Write("Öğrencinin notunu giriniz:"); int not=Convert.ToInt32(Console.ReadLine()); if (not > 100 || not < 0) Console.WriteLine("Not Bilgisini yanlış girdiniz."); else if (not >= 50) Console.WriteLine("Öğrenci Başarılı"); else Console.WriteLine("Öğrenci Başarısız."); Console.ReadKey(); |
Örneğimizde 3 farklı durum söz konusudur. Öğrencinin notu 0-100 aralığı dışında ise “Yanlış not”, 50’den büyük ise “Başarılı”, değilse “Başarısız” mesajı verilmektedir.
Dikkat ettiyseniz (not>100 || not<0) ifadesi aynı anda 2 koşul içermektedir. Not 100’den büyük ise veya 0’dan küçük ise şeklinde iki ifade tek bir koşul altında birleştirilmiştir.
Not: Koşul içerisinde && (Ve), || (Veya) operatörleri ile koşullar birleştirilebilir.
En çok tercih edilen koşullu dallanma ifadesi, if-else yapısını örneklerle anlatmaya çalıştım. Umarım faydalı bir konu olmuştur.
merdiven basamakları hakkında daha fazla örnek. Lütfen!!!!!
Çok güzel, anlaşılır. Teşekkürler.
Evet geldik okuduk gidiyoruz teşekkür ediyoruz elinize sağlık
Süslü parantezlerin kullanım amaçları nelerdir _??
bu if bloğu nasıl atılıyor peki