void main() {
/*
Arkadaşlar. if-else yapısına göre ayarlanmış bir kısa yazım şekli var.
Buna üçlü operatör diyorlar. Bir satır ve 3 kısımdan oluşuyor.
1. kısım şart. 2.kısım şart doğru olunca çalışacak kod. 3. kısım şart yanlış
olunca çalışacak kısım. Bu yazım şeklinde if sonra blok aç kodları yaz sonra
else yap sonra blok aç else kodlarını yaz gibi durumlar yok.
Bunun gösterimi tek satırda oluyor.Bir satırda işi bitiriyoruz. Yazı olarak yazalım.
Şartımız ? şartDoğruOluncaBurası : şartYanlışOluncaBurası
Gördüğünüz gibi önce bir şart yazıyoruz. Sonra soru işareti ? bırakıyoruz yanına.
Sonra şart doğru olunca yapılacak işlemi giriyoruz. Sonra iki nokta üstüste :
koyuyoruz. Ve bundan da sonra şart yanlış çıkınca çalışacak kodu yazıyoruz. En
sonuna noktalı virgül deyip ; işlemi tamamlıyoruz. Şimdi aşağıdaki
örneklere bakalım.
*/
/*
Aşağıdaki örnekte önce uzun halini sonra kısa halini yazdık. Aynı anda görelim
daha iyi anlaşılır. Uzun halini zaten biliyoruz. Kısa halini açıklayayım. Direkt
şartımızı girdik. 15>10. Yani sorumuz 15 10'dan büyük mü şeklinde. Sonra ?
soru işaretini koyup şart doğru ise çalışacak printi yazdık. Sonra iki nokta
üstüste koyup : devamında yanlış ise çalışacak printi yazdık. En sona da noktalı
virgül ; bırakıp satırı tamamladık. Önemli bir not. ilk print için noktalı virgül
koymuyoruz. Sadece satır sonuna koyuyoruz ;.
*/
if (15 > 10) {
print("Uzun İf Büyük"); //True
} else {
print("Uzun İf Küçük");
}
15 > 10 ? print("Kısa İf Büyük") : print("Kısa İf Küçük"); //Kısa İf Büyük
/*
Şimdide aşağıda değişkenli bir kullanıma bakalım. Burada durum adında bir değişken
tanımlayıp bu değişkene 9==10 sorugusundan çıkacak sonucu atıyoruz. Değişken
string olabiliyor. Şimdi ifade ifade gidelim. String dedik ve durum isminde bir
değişken tanımladık. Sonra = eşittir dedik. Bu eşittir kendinden sonraki tüm işlemin
sonucunu durum değişkenine ata demek. Kendinden sonraki işlem ne. 9 10'a eşitmi
sorusu. Evet 9==10 sorgusunu yazdıktan sonra ? soru işaretini koyuyoruz. Ve şimdi
eşitse çalışacak kodu yazıyoruz. Tabiki şuanda eşit değil. Bu kod çalışmayacak.
Sonra iki nokta üstüste koyup devamında eşit olmadığı zaman çalışacak kodu
yazıyoruz. Ve bu kod çalışacak. Yani Eşit Değil String değerini durum isimli
değişkene atayacak.Burada tırnak içinde eşit veya eşit değil yazdık.
Çünkü sonuç olarak string dönecek ve durum değişkenide string tanımlı. Sonra alt
satırda durum değişkenini print ediyoruz.
Aşağıdaki örnekte şartımızı parantez içine alsak da oluyor almasak da.
*/
String durum = 9 == 10 ? "Eşit" : "Eşit Değil";
print(durum); //Eşit Değil
/*
Şimdide iki değişken olarak karşılaştırma yapalım. Burada önce küçük sayıyı
buluyoruz ama değişkenler yardımıyla. Sonra ise mutlak değere çevirme işlemi var.
Adım adım bakalım. Önce iki adet int değişken tanımlayıp değerlerini girdik.
Sonra int kucukDeger diye bir değişken girdik sonucu tutalım diye. Zaten hemen
altında sonucu print ile ekrana yazıyoruz. Burada interpolasyonuda kullandım.
Çıktılarımız daha güzel gözüksün.
*/
int a = -11;
int b = 22;
int kucukDeger;
kucukDeger = (a < b) ? a : b;
print("Küçü sayı $kucukDeger"); //Küçü sayı -11
/*
Şimdi yukardaki örneği aşağıda tekrar yapalım. Bu sefer yazım işlemini de aynı
satırda yapalım. Değişkenler yine yukardaki a ve b olsun. Değerlerini de olduğu
gibi bırakıyorum. Ancak bu sefer BÜYÜK sayıyı bulalım. Aşağıdaki örneği hem
interpolasyonlu hemde interpolasyonsuz yapalım. Önce ilk satırdakine bakalım.
interpolasyonsuz olanına.
Direkt şartımızı giriyoruz. Parantez kullanabilirsiniz aslında. Ama şuanda
karışıklık veya matematiksel bir sıkıntı olmadığı için bu örnekte parantez
kullanmıyorum.
Şartımız a b den büyüktür. Hemen soru işareti atıyoruz yanına ?.
Bundan sonra doğru ise çalışacak kodu yani print a yı ekrana bas diyoruz. a b'den
küçük olduğu için ilk print çalışmaz.
Sonra iki nokta üst üste koyup : şart yanlış ise çalışacak kodu yazıyoruz.
Burada da print b deyip b yi ekrana basıyoruz. Çünkü b daha büyük.
a=-11
b=22
*/
a > b ? print(a) : print(b); //22
/*
Hemen üstteki örneği tekrar yazdım aşağıya. İkiside aynı sonucu veriyor ama
yazımları biraz farklı oldu. Üstte a>b yi kontol ettiğimiz için ilk printe a yı
bastık.
Altta ise b>a yı kontrol ettiğimiz için ilk printte b yi bastık.
İkisiyle de büyük sayıyı buluyoruz. Mantık şu şekilde. Yazdığımız koşul bizim
isteğimize göre olmalı. Büyük sayıyı bulacak isek büyüktür işareti kullanmamız
gerekiyor. Önce hangi değişkeni yazdığımızın bir önemi yok. Büyüktür işaretini
kullandığımız için ilk print büyük olarak yazdığımız değişkeni girmeliyiz.
a>b yazarsak ilk print a yada b>a yazarsak ilk print b olmalı.
*/
b > a ? print(b) : print(a); //22
/*
Bir alttaki satırın tek farkı açıklamalı print yaptık. Ekrana bir çıktı geliyor
ama ne bu. Ne olduğu sadece bir örnek olsa anlaşılır tamam da burda şu anda
dünyanın kodu oldu. Daha anlaşılır işler ortaya çıksın diye açıklamalı print
gördüğünüz gibi oluyor. Bunu daha önceki konularda detaylı olarak ele aldık.
Bakabilirsiniz. Şimdi üşenmeden bu satırımızı da açıklayalım. Bu ifade şekline
ternary yani üçlü operatör diyiliyor demiştik. Bu sefer de öyle açıklayalım.
birin kısım şart kısmı. Soru işaretine kadar olan kısımdır.
İkinci kısım true kısmıdır. Soru işareti ile iki nokta üstüste araıdır.
Üçünçü kısım false kısmıdır. İki nokta üstüste ile noktalı virgül arasıdır.
Birinci kısım (a > b) ?
İkinci kısım ? print("Büyük Sayı $a") :
Üçünçü kısım : print("Büyük Sayı $b");
a=-11
b=22'dir.
Çok kısa şartı giriyoruz. a>b dedik. Soru işareti ve doğru olunca çalıaşcak print
iki nokta üstüste sonra yanlış olunca çalışacak kısım. Sorgu doğru olduğu için
ilk print çalışacaktır.
*/
(a > b) ? print("Büyük Sayı $a") : print("Büyük Sayı $b"); //Büyük Sayı 22
/*
Aşağıda bir örneğe daha bakalım. Bu örnekte girilen sayı sıfırın altında bir sayı ise
onun mutlak değerini alalım. Yok zaten sıfırdan büyükse kendisini alalım.
a değişkeni -11 olarak girilmiş zaten ve bizde yine onu kullanalım.
int mutlakDeger'i direkt aynı satırda sorgumuzun sonucuna eşitliyoruz. Sorgumuz
a<0. Sonra ? deyip -a yapıyoruz. Yani sorgu doğruysa girilen sayı eksi bir sayıdır.
Bizde mutlak değer alacağımız için a'yı eksi ile çarpıyoruz orada. Sonra : koyuyuruz.
Burda da a'yı sonuç olarak dönüyoruz. Bu ihtimal zaten a sıfırdan büyük olduğu zaman
çalışacağı için o zaman a pozitif demektir ve direkt kendisini kullanabiliriz.
Bu satırda mutlakDeger içine 11 değerini atmış olduk. Kısaca a-11 olduğu için
ilk önerme çalışacak. Orda da ayı - ile çarpıyruz. Ve a artı 11 oluyor. Artıyı
yazmaya gerek yok zaten. Ki sistem de çıktıda yazmıyor onu.
a=-11
*/
int mutlakDeger = (a < 0) ? -a : a;
print("Girilen sayının Mutlak Değeri $mutlakDeger"); //11
/*
Aşağıda daha önce if else için çözdüğümüz soruları bu yöntemle tek satır if ile
çözelim. İlk kodumuz sayının tek mi yoksa çift mi olduğu bize söylüyor.
sayi adında int tipinde yani tam sayı tipinde bir değişken tanıplayım aynı
satırda değer olarak 15 değerini atadık içine. Sonra alt satırda ternary yöntemi
ile koşulumuzu yazdık. sayi mod 2 eşit sıfır ise ilk kod çalışacak değilse ikinci
kod çalışacak. Ki sayımız tek olduğu için ikinci kodumuz çalışacak.
*/
int sayi = 15;
(sayi % 2 == 0) ? print("$sayi çift sayıdır") : print("$sayi tek sayıdır");
//15 tek sayıdır
/*
Aşağıda direkt not değerini aldık işlem falan yapmadan. Amacımız 44 den büyükse
Tebrikler küçükse Daha Çok Çalış yazdırmak ekrana. Notumuz 46 verilmiş. Doğru
olduğu için ilk kodumuz çalışacak. Ekrana Tebrikler yazacak.
Bunu kısımlarına ayıralım. Ternary olarak bakalım. Yani üçlü olarak.
Birinci kısım şartımız. (not > 44) ?
İkinci kısım true ? print("Tebrikler") :
Üçüncü kısım false : print("Daha Çok Çalış");
Ture demek şartımız doğru olunca çalışacak kod, doğal olarak false de şartımız
yanlış çıkınca çalışacak kod.
*/
int not = 46;
(not > 44) ? print("Tebrikler") : print("Daha Çok Çalış"); //Tebrikler
}
0 comments:
Soru, Görüş, Öneri ve Eklemek İstediklerinizi Yazabilirsiniz...