javaScript Switch Case Kullanımı

Switch case yapısı, çok durumlu dallanma ifadelerinde if-else blokları yerine tercihen kullanılırlar. Switch-case ile yapılabilecek tüm işlemler if-else kod bloğu ile de yapılabilmektedir. Fakat kod okunabilirliğini arttırdığı için birçok programcı switch-case yapısını karmaşık if-else blokları yerine kullanmaktadır.

Şimdi şöyle birşey düşünüyor olabilirsiniz switch ile yaptığınız işi if yapısı ile de yapabilirim diyorsunuz, doğru düşünüyorsunuz switch-case yapısı bize ne fayda sağlayacak derseniz, switch-case yapısının avantajı daha düzenli kod yazmamızı ve ölçülen performans (hızı) if...Else.if yapısına göre hızlı çalışmasıdır. Kullanımı şu şekildedir.

javascript switch case

 	
switch(ifade){
    case 1:
        //Yürütülmesi gereken Kod
      break;
    case 2:
        //Yürütülmesi gereken Kod
        break;
    case n:
        //Yürütülmesi gereken Kod
        break;
    default:
        //Yukarıdaki kodların hiçbiri uygulanmadığında 
        //yapılacak olan default kodu
}

Switch-case yapısının şu şekilde çalışmakta. Öncelikle switch parantezi içerisindeki ifadenin değeri hesaplanır. Hesaplanan değerle eşleşen case ifadesi bulunursa, o bloktaki kodlar çalıştırılır. Eğer hiçbir case bloğuyla eşleşme sağlanmazsa default bloğunda belirtilen komutlar çalışacaktır. Break deyimi her case bloğundan sonra mutlaka kullanılmalıdır. Çünkü istenen kod bloğu çalıştırılmış olmasına rağmen, break deyimi kullanılmazsa switch dışına çıkılmadan aşağıdaki case bloklarına doğru akış devam eder. Herbir koşuldan sonra ve default deyiminden sonra iki nokta üstüste (:) işareti kullanıldığına dikkat ediniz.

 
var sayi=1;
  
switch ($sayi){
 
   case 0: 
        alert ("Sayı 0'dır."); 
        break;
    
   case 1: 
         alert ("Sayı 1'dir."); 
         break;//Ekran çıktısı
    
   case 2: 
         alert ("Sayı 2'dir."); 
         break;
    
   case 3: 
         alert ("Sayı 3'dir."); 
         break;
    
   default: 
          alert ("Sayı belli değildir.");
}

Burada sayi değişkeninin değerlerine bakıyoruz. Değeri 1 olduğundan ekrana Sayı 1'dir; yazacaktır. Bir de bu yapıyı if...else.if yapısı ile yapalım:

 
var sayi=1;
  
if(sayi==0)
 
   echo "Sayı 0'dır.";
    
else if(sayi==1)
 
   echo "Sayı 1'dir.";  //Ekran çıktısı
    
else if(sayi==2)
 
   echo "Sayı 2'dir.";
    
else if(sayi==3)
 
   echo "Sayı 3'dir.";   
    
else
 
   echo "Sayı belli değildir.";

Görüldüğü üzere aynı işlemi rahatlıkla if...else.if ile de yapabilirsiniz. Tercih sizindir. Hızlı çalışması bakımdan büyük sistemlerde switch özelliğini mutlaka kullanın.

Anahtar ifadesi de bir ifade içerebilir. Bir ifadenin sonucuna uyan bir blok yürütülür.

 
var a = 3;

switch (a/3) {
    case 1:
        alert("case 1 Çalıştı");// case 1
        break;
    case 2:
        alert("case 2 Çalıştı");
        break;
    case 3:
        alert("case 3 Çalıştı");
        break;
    case 4:
        alert("case 4 Çalıştı");
        break;
    default:
        alert("default case ");
}

Yukarıdaki örnekte, anahtar deyimi, 3/3=1 olacak yukarıdaki örnekte case 1 çalışacak.

Anahtar ayrıca dize tipi ifade de içerebilir.

 
 var meyve="Şeftali";
  
switch (meyve){
 
   case "Kiraz": 
    
   alert("Yaz meyvesi"); break;
    
   case "Mandalin": 
    
   alert("Kış meyvesi"); break;
    
   case "Erik": 
    
   alert("Bahar meyvesi"); break;
    
   case "Şeftali":
 
   alert("Yaz meyvesi"); break;//Ekran çıktısı
    
    
   default: alert("Herhangi bir mevsimin meyvesi");
}

Bir anahtar deyiminde birden çok durum birleştirilebilir.

 
var meyve="Mandalin";
  
switch (meyve){
 
   case "Kiraz": 
    
   case "Karpuz":
    
   case "Şeftali":
    
   alert("Yaz meyvesi"); break;
    
   case "Mandalin": 
    
   case "Portakal":
    
   case "greyfurt":
    
   alert("Kış meyvesi"); break;  // Ekran çıktısı
    
   case "Erik": 
    
   alert("İlkbahar meyvesi"); break;
}

Yukarıda ki örneği açıklamaya çalışalım. Bir durumdan sonra komut yazmak zorunda değilsiniz. Bu, sonraki duruma geçmek için kullanılır. Yaz meyvelerinden Kiraz , Karpuz olması fark etmiyor. Eğer bu durumlardan birine girilirse break olmadığı için şeftali meyvesine kadar gidilir ve ekrana yaz meyvesini yazar. Sonra break ile Kış meyvelerine geçişi engellenir.

Aynı mantıkla Mandalin , Portakal için break kullanılmayarak greyfurt meyvesine gidiliyor ve ekrana kış meyvesi yazılır. Break komutu ile çıkılır.

Şimdi basit bir hesap makinası programı yapalım:

var sonuc;
var islem="*";
var i1=10;
var i2=7;
  
switch (islem){
 
   case "+": sonuc=i1 + i2; break;
    
   case "-": sonuc=i1 - i2; break;
    
   case "*": sonuc=i1 * i2; break;
    
   default:  sonuc=$i1 / $i2;
}
  
alert ("Sonuç..:" + sonuc);  //ekran çıktı sonuç=70
Lütfen konu haricinde soru sormayın cevaplanmayacaktır. Yorumunuz onaylandıktan sonra yayınlacaktır.

825

KATEGORİ
  • HTML
  • CSS
  • PHP
  • JQUERY
  • PHOTOSHOP
  • JavaScript
  • Web Dünyası
  • Linux
POPÜLER MAKALE
  • HTML RESME LİNK VERME
  • HTML LİNK(Bağlantı)EKLEME - LİNK VERME
  • HTML YAZI VE RESİM ORTALAMA
  • HTML DİV ve SPAN NEDİR?
  • HTML FORM OLUŞTURMA
  • HTML KAYAN RESİM VE Marguee KULLANIMI
  • HTML ARKAPLANA MÜZİK EKLEME
  • CSS (BOYUT) GENİŞLİK VE YÜKSEKLİK (Width-Height)
  • HTML RESİM EKLEME
  • PHP ceil()-floor()-round() YUVARLAMA FONKSİYONU
ETİKET
WEBCEBİR © 2013 Tüm hakları saklıdır.