Kontrol Deyimleri
Mantıksal ifadeler
if deyimi
if-else deyimi
?: işlemi
switch deyimi
- Düz akışlı giden bir programın akış yönünü değiştirmeye çalışan deyimlere kontrol deyimleri adı verilir.
- Kontrol deyimleri, programın akışını mantıksal ifadeler denilen belirli koşullar altında değiştirir.
Mantıksal İfadeler
Basit mantıksal ifadeler
Bileşik mantıksal ifadeler
Karşılaştırma İşleçleri
== eşittir
!= eşit değildir
> büyüktür
>= büyük ya da eşittir
< küçüktür
<= küçük ya da eşittir
Basit Mantıksal İfadeler
Karşılaştırma işleçleri, değerler ya da değişkenler kullanılarak elde edilen, sonucu doğru (true) ya da yanlış (false) olarak ifade edilebilen deyimlere basit mantıksal ifadeler adı verilir.
a_deg == b_deg
3 >= sayi
Bileşik Mantıksal İfadeler
Basit mantıksal ifadelerin ! (değil – not), && (ve – and) ya da || (veya – or) işleçleriyle birleştirilerek elde edilen mantıksal ifadelere bileşik mantıksal ifadeler adı verilir.
(a_deg != 1) && (a_deg != 3)
(sayi < 30) || (sayi >= 50)
!(bilgi == 0)
if deyimi
if (<mantıksal ifade>)
<işlem>;
if (<mantıksal ifade>)
{
<işlem>;
<işlem>;
...
}
Genellikle çok durumlu koşullarda kullanılır
if (deger == 2) ...
if (deger == 3) ...
if ((deger == 5) || (deger == 6)) ...
string satir;
int sayi;
satir = Console.ReadLine();
sayi = Convert.ToInt32(satir);
if (sayi >= 4) Console.WriteLine("Sayi 4ten buyuk ya da esit");
if-else deyimi
if (<mantıksal ifade>)
<işlem>;
else
<işlem>;
if (<mantıksal ifade>)
{
<işlem>;
...
}
else
{
<işlem>;
...
}
string satir;
int sayi;
satir = Console.ReadLine();
sayi = Convert.ToInt32(satir);
if (sayi >= 4) Console.WriteLine("Sayi 4ten buyuk ya da esit");
else Console.WriteLine("Sayi 4ten kucuk");
İçiçe if-else Deyimleri
string satir;
int s1, s2, s3, buyuk;
satir = Console.ReadLine();
s1 = Convert.ToInt32(satir);
satir = Console.ReadLine();
s2 = Convert.ToInt32(satir);
satir = Console.ReadLine();
s3 = Convert.ToInt32(satir);
if (s1 > s2) if (s1 > s3) buyuk = s1;
else buyuk = s3;
else if (s2 > s3) buyuk = s2;
else buyuk = s3;
Console.WriteLine("En buyuk = " + buyuk);
İçiçe if-else deyimlerinde, her else deyimi daima kendinden önce gelen ilk if deyimine aittir. Eğer, gerekiyorsa, else deyimlerinin sonuna sadece (;) işareti konularak geçilebilir.
if (sayi > 5) if (sayi <= 6) sonuc = sayi * 4;
else;
else if (sayi == 20) sonuc = -1;
? : deyimi
Bir değişkenin değerinin iki farklı durumdan birinin değerine göre sonuc alması durumunda ? : ifadesi kullanılabilir.
if (sayi < 100) sonuc = 50;
else sonuc = 10;
Örnek ?: deyimi kullanımı
string satir;
int sayi, sonuc;
satir = Console.ReadLine();
sayi = Convert.ToInt32(satir);
// asagıdaki ifade
// if (sayi < 100) sonuc = 50;
// else sonuc = 10;
// deyimi yerine kullanilmistir
sonuc = sayi < 100 ? 50 : 10;
Console.WriteLine("Sonuc = " + sonuc);
switch Deyimi
Bir değişkenin aldığı birçok değere göre farklı komutların çalıştırılması gereken durumlar için if deyimini kullanmak yerine switch deyimini kullanmak daha avantajlıdır.
switch - case
switch - case - default
Kullanım Şekli;
switch (<değişken>)
{
case <değer1>: { <işlem>;
...
break;
}
case <değer2>: { <işlem>;
...
break;
}
...
}
Örnek Bir Switch Kullanımı
string satir;
int sayi;
satir = Console.ReadLine();
sayi = Convert.ToInt32(satir);
switch (sayi) {
case 10 : { Console.WriteLine("Sayi 10dur");
break;
}
case 20 :
case 30 : { Console.WriteLine("Sayi 20 ya da 30dur");
break;
}
}
- case deyimlerinde, break deyimini kullanmamak derleme hatasına neden olacaktır.
- Eğer, kullanılan değişkenin değeri case deyimlerinde verilen herhangi bir değere karşılık gelmezse, hiçbir işlem yapılmadan case deyimi terk edilecektir.
switch (<değişken>) {
case <değer1>: { <işlem>;
...
break;
}
...
...
...
default : { <işlem>;
...
break;
}
}
Switch örneği
string satir;
satir = Console.ReadLine();
switch (satir) {
case "A" : { Console.WriteLine("Su an A tusuna bastiniz");
break;
}
case "B" : { Console.WriteLine("Su an B tusuna bastiniz");
break;
}
case "C" : { Console.WriteLine("Su an C tusuna bastiniz");
break;
}
default : { Console.WriteLine("*** YANLIS TUSA BASTINIZ");
break;
}
}