Sponsor Reklam 


22.12.2008 (03:43)

 Switch, Case, Default ve Break Kullanımı 
Daha önce if ve else kullanımından bahsetmiştik. Buradaki if-else-if yapılarının kolay kullanılması için switch-case kullanılmaktadır.

Aşağıdaki örnekte defalarca else if kullanımından kaçılarak switch case tercih edilmiştir.

String day;
int dayNumber=0;
switch (dayNumber) {
  case 0:
    day = "Sunday";
    break;
  case 1:
    day = "Monday";
    break;
  case 2:
    day = "Tuesday";
    break;
  case 3:
    day = "Wednesday";
    break;
  case 4:
    day = "Thursday";
    break;
  case 5:
    day = "Friday";
    break;
  case 6:
    day = "Saturday";
    break;
  default:
    day = "This is not a day number";
}
System.out.print("Day: " + day);

Ekran çıktımız şöyle olacaktır:

Day: Sunday

Switch'in içinde yer alan case ifadesi eşleşebilecek sayıyı göstermektedir. Başka bir ifade olan default ise bir eşleşme olmadığında kendisinin altında yer alan eylemi yapacaktır.

Örnekte yer alan break'ler ilgili case ifadesinden sonra eylemlerin yapılıp bir alttaki case ya da default ifadesine düşmeyi önlemektedir. Bazı durumlarda eşleşme olduktan sonra alttaki tüm eylemlerin yapılmasını isteyebiliriz. Böyle durumlarda break kullanmamalıyız. Bununla ilgili hafta sonuna kaç gün kaldığını söyleyen şu örneği inceleyebiliriz:

int gunNumarasi=0;
int kalanGunSayisi=0;
switch (gunNumarasi) {
  case 0:  // Pazar
    kalanGunSayisi++;
  case 1:  // Pazartesi
    kalanGunSayisi++;
  case 2:  // Salı
    kalanGunSayisi++;
  case 3:  // Çarşamba
    kalanGunSayisi++;
  case 4:  // Perşembe
    kalanGunSayisi++;
  case 5:  // Cuma
    kalanGunSayisi++;
  case 6:  // Cumartesi
}
System.out.println("Hafta sonuna kalan gün sayısı: " + kalanGunsayisi);

Hafta sonuna veya Cumartesi'ye kadar kalan gün sayısını veren bu örneğin gün numarası sıfır için yani Pazar günü için ekran çıktısı şöyle olacaktır:

Hafta sonuna kalan gün sayısı: 6

Görüldüğü gibi case 0 ile eşleşen ifade, break olmaması nedeni ile altında yer alan diğer case'lerin eylemlerini de yapmaktadır.
Imza: admin








Yazilar kaynak gosterilmeden kopyalanamaz © www.kodcu.net // Twitter