Merhabalar dart eğitimlerimize karar yapıları ile devam ediyoruz.

Dart’da iki tip karar mekanizması vardır.

If – Else if – Else

Switch Case

Bu yazımda if yapısını göreceğiz.

Çoğu zaman programlarımız pek çok durumla karşı karşıya gelir ve her durumun sonucunda olmasını istediğimiz farklı farklı işlemler olur.

İşte bu tür karar verme durumlarını yönetebilmek için karar yapılarından yararlanırız.

Yapı

Adım adım gidelim. Sadece bir durumu karşılaştırmak için bize tek if yeterli gelir.

if(şart){

Olaylar

}

Örneğin bir sayı 5 ten büyükse sayıya 10 eklensin ve ekrana yazdırılsın. Başka durumlarda işlem yapılmasın.

void main(){

  int a = 6;
  
  if(a>5){
    print("$a 5'ten Büyüktür");
  }

  
}

Çalışma mantığına bakarsak if kontrol yapısının içine geldiğinde şartı kontrol eder ve eğer değeri true ise süslü parantezler içine girilir ve oradaki kodlar işletilir.

Burada 6 > 5 mi diye soruyor ve cevabı true olduğu için içerdeki kodlar çalıştırıldı.

Şimdi ikinci bir senaryo düşünelim.

Sayı 5’den büyükse işlem yapılsın ama diğer tüm durumlarda ekranda istenmeyen durum yazsın.

Bunun için yapımız şöyle olacak.

if(şart){

Olaylar

}

else{

Olaylar…

}

Else kısmı bir if yapısında hiçbir şart gerçekleşmiyorsa yapılacak işlemlerin olduğu bölümdür.

 if(a > 7){
    print("$a 7'den Büyüktür");
  }
  else{
    print("İstenmeyen Durum");
  }

Şimdi farklı bir senaryo daha yaratalım.

a değeri 3 den küçükse bir işlem yapılsın, eğer 3’e eşit ve ya 3’ten büyük ise bir işlem yapılsın diğer tüm durumlar için başka bir işlem yapılsın.

Yapı

if(şart){

Olaylar…

}

else if(şart){

Olaylar…

}

else{

Olaylar

}

Birden fazla şartı kontrol etmek istediğimizde if’den sonra her yeni şart için else if yazıp durumu kontrol edebiliriz.

Burada şart sayısında bir sınır yoktur.

if(a < 3){
    print("$a Küçüktür 3'ten");
  }
  else if(a >= 3){
    print("$a Büyük veya Eşittir 3'ten");
  }
  else{
    print("İstenmeyen Durum");
  }

Böyle bir durumda yukarıdan aşağıya sırayla doğru olan adım gelene kadar tüm şartlar kontrol edilir.

Hangi adımda şart sağlanmışsa o adımdan sonrası kontrol edilmez.

Hiçbir şart sağlanmıyorsa else içindeki kodlar gerçeklenir.

Şart yapılarını if else if diye değilde her şartı alt alta if’le kontrol ederseniz her if şartı kontrol edileceği için performansız kod yazmış olursunuz. Birbiriyle bağlantılı şartları if else if else yapısı ile kontrol ediniz.

Ternary Operator

Bir if else yapısı sonuçları tek satırdan oluşuyorsa bunun için uzun uzun if else yapısı yazmaya gerek yok. Bunun için Ternary Operator kullanılabilir.

Burada ? durum kontrolünü ifade eder eğer doğruysa ilk işlem yapılır değilse : ‘dan sonra yazılan işlem yapılır.

int c = 10;

  int d;

  d = c > 10 ? 1 : 2;
  print(d);

Kodu inceleyecek olursak anlamı şudur.

c büyük mü 10’dan kontrolü yapılır. Eğer bu ifade doğru ise true değer dönüyorsa ? ‘den sonra yazdığımız değer d’nin yeni değeri olur. Eğer yanlış ise :’dan sonraki değer d’nin yeni değeri olacaktır.

10, 10’dan büyük mü kontrolü false değeri döndüğü için geriye d’nin yeni değeri 2 olacaktır.

Artık bu yapıyı öğrendiğinize göre küçük bir hesap makinesi yazabilirsiniz.

Bir sonraki yazımda görüşmek üzere.


What's Your Reaction?

hate hate
0
hate
fail fail
0
fail
fun fun
0
fun
geeky geeky
0
geeky
love love
0
love
lol lol
0
lol
omg omg
0
omg
win win
0
win
Murat Bilginer
21 Şubat 1992 Doğumlu. Endüstri Mühendisi olarak Lisansını 2016 yılında tamamlamıştır. Industryolog Akademi - NGenius oluşumlarının kurucusudur. Şu anda kendi şirketi Brainy Tech ile hem Yazılım Hizmetleri Sunmakta Hem de Online Eğitimler Vermektedir.