Friday, October 21, 2022

Dart Ders Notlarım 23: if - else if - else

Dart Ders Notlarım 23:  if  - else if - else


 void main() {

/*

Arkadaşlar şimdiye kadar tek koşul ve iki koşul için işlemler yaptık. Şimdi sıra

geldi ya 2 den fazla koşul varsa sorusuna. Böyle bir durumla karşılaşmamız 

gayet doğal. Bunun için if yapısında şöyle bir durum deniyoruz. 

Burada if deyip parantez içine şartımızı yazıyoruz. Sonra süslü parantez 

içine doğru çıkınca çalışacak kodları yazıyoruz. Bundan sonraki kısmı istediğimiz 

kadar yazabiliriz. En az 3 en fazla gereken kadar şartı kontrol edip sağlandığı 

anda çalıcak kodlarımızı yazabiliriz. Sonra else if diyerek yeni şartımızı

parantez içine yazıyoruz ve hemen devamında süslü parantez içine çalışması gereken

kodlarımızı yazıyoruz. Sonra yine else if diyoruz ve parantezler içine şartımızı

yazıyoruz ve ardından süslü parantez içine çalışması geerekn kodlarımızı yazıyoruz. 

Sonra bu işlemi yukarda belirttiğim gibi ihtiyacımız kadar çoğaltıyoruz. En 

sonunda ise else diyerek bütün yazdığımız şartların dışında bir durum gerçekleşmiş

ise o zaman da bu kodları çalıştır diyerek o kodları yazıyoruz. Burada ikinci

if else'den sonra else diyoruz. Else deyince şart yazmıyoruz artık. Sadece 

süslü parantezlerin içine belirttiğimiz hiç bir şart sağlanmadığında çalışacak

kodları yazıyoruz. Ve işlemi bitiriyoruz. 


if () {


} else if () {


} else if () {


} else {


}


Birde dolu halini görelim.


if (şart) {

Kodlar

} else if (şart) {

Kodlar  

} else if (şart) {

Kodlar

} else {

Kodlar  

}


Bu arada else'i kullanmak tamamen bize kalmış. İster kullanırız ister kullanmayız.


Şöyle bir şey oluyor else ile ilgili eğer kullanırsak ekrana her türlü bir çıktı

vermiş oluyoruz veya şöyle de diyebiliriz her halükarda bir işlem yapmış oluyoruz

çünkü o blokta kodlar var. Bizim belirlediğimiz şartların dışında bir durum ile 

karşılaştık ve bunun içinde bir planımız var demektir. Her zaman bu blok çalışır

ya if veya else if'lerden biri çalışır ya da else çalışır.


Şayet kullanmazsak şartlarımızın dışında bir durum olduğunda ekrana bir çıktı 

vermiyoruz veya öyle bir blok olmadığı ve orada çalışacak kodumuz bulunmadığı için

her hangi bir işlem yaptırmıyoruz programa. Bizim belirlediğimiz şartların 

dışında bir durum ile karşılaştık ve bu bizim için önemli değil demiş olduk. 

Bizim için şartlardan hiç biri sağlanmaz ise bu bloğu hiç çalıştırma.

*/


/*

Şimdi örneklere başlayalım. İlk örneğimiz yaşı girilen kişiyi bebek, çocuk, genç,

ergen ve yetişkin şeklinde katogorize edip sonucu ekrana yazan program olsun.

Görüldüğü üzere burada beş adet şartımız var. Eğer bu kodları if ile yazacaksak

if else if mantığını kullanmalıyız.


Kodu açıklayalım şimdi. Artık parantezleri falan uzun uzun yazmayacağım 

açıklamalarda haberiniz olsun. Öğrendik artık diye düşünüyorum.


Önce yas adında int tipinde bir değişken tanımlayıp değer olarak 15 attık içine.


Sonra if deyip yas<1 sorgusunu yaptık. Bu doğru ise ekrana bebek yaz dedik.


Sonra else if ile yas<4 sorgusunu yaptık. Bu doğru ise ekrana çocuk yaz dedik.

yas<4 demek 1 ve 4 arasında demek oluyor.


Sonra else if ile yas<12 sorgusunu yaptık. Bu doğru ise ekrana genç yaz dedik.

Buda 4 ile 12 arasında demek oluyor.


Sonra else if ile yas<18 sorgusunu yaptık. Bu arada bir değer gelirse Ergen 

çıktısını ver diyoruz. Bu değer 12 ile 18 arasını kapsıyor.


Sonra else yaptık. Buda demek oluyor ki 18 den büyük bir değer gelirse 

o zaman ekrana yetişkin yaz. Çünkü en büyük değerimiz 18 den küçük 12 den 

büyük sayıyı yakalıyor. Girilen değer 18 den büyükse doğal olarak else

bloğu devreye giriyor.

*/


  int yas = 15;


  if (yas < 1) {

    print("Bebek");

  } else if (yas < 4) {

    print("Çocuk");

  } else if (yas < 12) {

    print("Genç");

  } else if (yas < 18) {

    print("Ergen"); //True

  } else {

    print("Yetişkin");

  }


/*

Şimdi üstteki blokta yazdığımız şartların okunaklığnı daha da düzeltebiliriz. 

Kontrol hangi aralıkta ise direkt olarak ona bakabiliriz. Bu bir şeyi değiştirmez

kodun çalışmasında. Ama kodun okunurluluğunda büyük kolaylık sağlar. Birlikte 

görelim. Üstteki örneği direk aşağıya alıyorum bir farkla şartları daha 

okunaklı yazarak. Yani yine tercih sizin diyebiliriz.

*/


  yas = 35;


  if (yas > 0 && yas < 1) {

    print("Bebek");

  } else if (yas >= 1 && yas < 4) {

    print("Çocuk");

  } else if (yas >= 4 && yas < 12) {

    print("Genç");

  } else if (yas >= 12 && yas < 18) {

    print("Ergen");

  } else {

    print("Yetişkin"); //True

  }


/*

Şimdi bir örnek daha yapalım. Sıcaklığı girilen suyun hangi madde halinde 

olduğunu ekrana basalım. Sıfıdan küçükse katı 0 ve 99 arası sıvı 100 ve yukarısı

ise gaz halinde olacak şekilde kodları yazalım.


Aslında buradaki ince nokta şu. if de tek şart vardı. Doğruysa 

ekrana birşeyler bastık, yanlış ise bir şey yapmadık. if else de ise

şart doğruysa bunu yap yanlış ise şunu yap dedik. Bu da iki durumluydu.


Şimdi baktığımız else if ile en az iki şart girip onları kontrol edip a gelince

a işlemini yap, b gelince b işlemini yap dedikten sonra ikisi de gelmez ise

şu işlemi yap diyebiliyoruz. En az iki en çok ise gerektiği kadar.


Şimdi kodu açıklayalım. suDerecesi diye 15 değerini girdiğimiz bir int değişkeni

tanımladık.Sonra if dedik sıfırdan küçükse katı halde yaz. Su sıfırın altında

buz oluyor oda katı madde demek. Sonra else if ile ikinci şartımızı girdik.

su sıfırdan büyük veya eşit ve yüzden küçük ise. Burada ve köprüsünü kullandık.

hem sıfır yada büyük ve 100 den de küçük olacak. Bu halde ise sıvı halde olacağından

Sıvı haldedir diye çıktı verdik. Şimdi bir tane daha else if yazmaya gerek yok.

Bu durumların dışında girilecek sayılar sadece 100 den büyük sayılar. Belirlediğimiz

durumların dışında gelecek her durum için else diyoruz. Çünkü belirlediğimiz 

şartların dışında sadece 100 den büyük sayılar gelebilir. Aynı zamanda şu demek daha 

kısa ifade edersek. else diyerek şunu demiş oluyoruz. Diğer her durum için Gaz halde

yaz. Diğer her durum zaten bizim şartlarımızn dışında kalan tek bir durum. O da 100

den büyük durum. Su 100 derecenin üzerinde gaz halinde olacağından sonuç olarak

zaten bu durumu yazdırıyoruz.

*/


  int suDerecesi = 15;


  if (suDerecesi < 0) {

    print("Su Katı Halde");

  } else if (suDerecesi >= 0 && suDerecesi < 100) {

    print("Su Sıvı Halde"); //True

  } else {

    print("Su Gaz Halde");

  }


/*

Yeni bir örneğe bakalım. Girilen bir sayının negatif, pozitif yada sıfır 

olup olmadığını bulup bunu ekrana yazan program. Görüldüğü gibi burada da

en az 3 durum söz konusu. Yani else if sistemini kullanmak gerekecek.

Kodu açıklayalım. sayi değişkeni int tanımlandı ve sıfıra eşitlendi. Sonra

sayi küçük sıfır ise negatif yaz, sayı eşittir 0 ise sıfır yaz ve sayı büyük 

sıfır ise pozitif yaz. Bu kadar.

*/


  int sayi = 0;


  if (sayi < 0) {

    print("$sayi'sayısı Negatiftir");

  } else if (sayi == 0) {

    print("$sayi'sayısı sıfırdır"); //True

  } else if (sayi > 0) {

    print("$sayi'sayısı pozitiftir");

  }

/*

Bu sefer mevsimin adı girilince o mevsimdeki

ayların isimlerini ekrana yazan programı kodlayalım.

mevsim isminde string bir değişken tanımlayıp değerini tırnak içinde yaz

olarak girdik aynı satırda. Sonra koşullar geliyor zaten. Burada sıralamanın

bir önemi yok. İstediğimiz sırada kontrollerimizi sağlayabiliriz. Ben ilkbahar

ile başladım mesela. mevsim ilkbahar ise ilkbahar aylarını, yaz ise yaz aylarını,

sonbahar ise sonbahar aylarını ve kış ise kış aylarını ekrana yaz diye kodlarımızı

yazdık. En sona else koyduk ki kişi yanlış herhangi bişi girince mesaj olarak

ona ne girmesi gerektiğini söyleyelim.

*/


  String mevsim = "yaz";


  if (mevsim == "ilkbahar") {

    print("Mart,Nisan,Mayıs");

  } else if (mevsim == "yaz") {

    print("Haziran,Temmuz,Ağustos"); //True

  } else if (mevsim == "sonbahar") {

    print("Eylül,Ekim,Kasım");

  } else if (mevsim == "kış") {

    print("Aralık,Ocak,Şubat");

  } else {

    print("küçük harfle ve bitişik bir mevsim ismini girin");

  }


/*

Bu çoklu şartlarında az daha kısa bir yolu var. Bir dahaki yazıda ona bakalım.

Ternary gösterimin çoklu şart için kullanılan hali diyebiliriz ona.

*/

}


Share This

0 comments:

Soru, Görüş, Öneri ve Eklemek İstediklerinizi Yazabilirsiniz...