Rehber Programlama Dillerinde Ternary If Nedir?

AhmetKnKc

Kilopat
Katılım
10 Kasım 2016
Mesajlar
369
Çözümler
18



Merhaba, bu rehberde neredeyse bütün programlama dillerinde bulunan Ternary If'in ne olduğuna deyineceğim.

Ternary If Nedir?
Ternary If bir atama sırasında koşul kullanmaya yarıyor, faydaları ise daha kısa ve okunaklı kodlar yazmak.
Ternary If hemen hemen her dilde olduğundan dolayı bu rehberde daha çok C# üzerinde örnek göstereceğim.


Ternary If Nasıl Kullanılır?
İlk olarak Ternary If kullanmadan önce basit bir if else bloğu hazırlayıp aradaki farkı gösterelim.


C#:
int Paran = 1500;
int Tutar = 1400;
string Sonuç;

if (Paran > 1500)
{
Sonuç = "Paran satın almaya yetiyor.";
}
else
{
Sonuç = "Paran satın almaya yetmiyor.";
}
Console.WriteLine(Sonuç);

Bu kod bloğunda sonucumuz "Paran satın almaya yetiyor." olacak.

Peki bu Ternary If ile yapılsaydı nasıl olurdu? Hemen göstereyim.

C#:
 int Paran = 1500;
int Tutar = 1400;
string Sonuç = Paran > Tutar ? "Paran satın almaya yetiyor." : "Paran satın almaya yetmiyor.";
Console.WriteLine(Sonuç);


Gördüğünüz gibi atama(=) sırasında koşul yazıp sonuna soru işareti(?) koyduktan sonra gelen ilk değer true, iki nokta'dan( : ) sonra gelen değerimiz ise false olarak geçiyor.
Screenshot_2.png



Bu yöntem ile if else ile yapacağınız birçok işi kısa sürede halledebilirsiniz.
Aşağıda C# ile birkaç örnek daha bırakıyorum inceleyebilirsiniz.




C#:
/*/
Bu örnekte eğer bilgisayarın saati, saat 12'den küçük veya eşi ise sabah, değil ise sabah değil çıktısı verecek.
/*/
int Saat = DateTime.Now.Hour;
bool ŞuanSabahMı = Saat <= 12 ? true : false;
Console.WriteLine(ŞuanSabahMı ? "Evet şuan sabah saatlerindeyiz." : "Hayır sabah değil.");
Screenshot_3.png







Bu örnek diğerlerine göre daha karışık. İç içe Ternary If kullanıldığından dolayı bu biraz daha önemli sayılabilir.
C#:
int Yumurta = 2;
int Domates = 2;
int Soğan = 0;

string N = "Yapamaz.",
       Y = "Menemen dediğin soğansız olur. Yapabilir!";

string MenemenYapılabilirMi = Yumurta >= 2 ? Domates >= 2 ? Soğan == 0 ? Y : N : N : N;
Console.WriteLine(MenemenYapılabilirMi);

Bu kodumuzun bize vereceği cevap ise Y değişkeni olacak yani harika bir soğansız menemen yapılabilir.
Screenshot_4.png
Peki bu menemen yapma projesini if else ile yapsaydık nasıl olurdu?
Evet kabul ediyorum if else ile daha basit...
C#:
            int Yumurta = 2;
            int Domates = 2;
            int Soğan = 0;

            string N = "Yapamaz.",
                   Y = "Menemen dediğin soğansız olur. Yapabilir!";
            if (Yumurta >= 2 && Domates >= 2 && Soğan == 0)
                Console.WriteLine(Y);        
            else
                Console.WriteLine(N);







Diğer Yazılım Dillerinde Ternary If Nasıl Kullanılır?
Python'da ternary if biraz daha farklı olduğundan dolayı ilk buna deyineceğim.
Python'da Ternary If kullanmak için aşağıdaki mantığı anlamanız gerekiyor;

Python:
print("15, 45 sayısından büyük?????" if (15 > 45) else "15, 45 sayısından küçük.")
Bu kodda ekranımıza "15, 45 sayısından küçük." yazacak.
Python ile fazla uğraşmadığımdan dolayı fazla örnek veremiyorum.



Python haricinde neredeyse çoğu yazılım dilinde Ternary İf aynı şekilde kullanılıyor. Aşağıda bazı popüler dillerden örnekler bıraktım.


JavaScript:
let Sayi1 = 15;
let Sayi2 = 35;
console.log(Sayi1 > Sayi2 ? "Sayı 2 Büyük" : "Sayı 1 küçük.");



C:
int Sayi1 = 15;
int Sayi2 = 35;
printf("%s", Sayi1 > Sayi2 ? "Sayı 2 Büyük" : "Sayı 1 küçük.");
return 0;


C++:
int Sayi1 = 15;
int Sayi2 = 35;
std::cout << (Sayi1 > Sayi2 ? "Sayı 2 Büyük" : "Sayı 1 küçük.") << std::endl;



PHP:
<?php
$Sayi1 = 15;
$Sayi2 = 35;
echo $Sayi1 > $Sayi2 ? "Sayı 2 Büyük" : "Sayı 1 küçük.";
?>



BBCODE ile konu açmak biraz uğraştırıyor düzeni pek istediğim gibi olmadı :/
Zaman ayırabilirsem benzer içeriklerle rehberler oluşturmaya devam edeceğim.
 
Son düzenleme:

Yeni konular

Geri
Yukarı