Mobil Programlama

Android

DERS PROGRAMI
Android 101 Ders Programı

switch / case Yapısı

Lisans: Creative Commons 11.12.2020 tarihinde güncellendi
Bakabileceğiniz Etiketler: Eğitmen: Geleceği Yazanlar Ekibi

Bir programda çok sayıda koşul kontrolü ve bunların sonucuna göre gerçekleştirilmesi gereken işlemler varsa, if-else yapıları ile akışın izlenmesi zorlaşabilir. Böyle durumlar genellikle switch deyiminin kullanılmasının gerekli olacağı durumlardır. switch deyimi, tek bir ifadenin değerine göre sınırsız sayıda çalıştırma yolu belirlemeyi sağlayan bir komuttur.

  • switch sözcüğünden hemen sonra gelen ifade parantez içinde yer almalı ve bir tamsayı ifade olmalıdır.
  • case anahtar sözcüklerini izleyen ifadeler tamsayı sabit türünde ifadeler olmalıdır, yani değişken içermemelidir.

switch deyiminin çalışma prensibi basittir. switch ifadesi hangi case’i izleyen sabitle çakışıyorsa, programın kontrolü o case’i izleyen kısma geçer. Bu case’den sonraki deyimler de kontrol edilmeden çalıştırılır.

case sabitlerinden hiçbiri ifade ile uyuşmuyorsa, programın akışı default‘u izleyen kısıma geçer. (Bu kısım mevcutsa) default‘un en sonda olması şart değildir. Fakat en sona koymak iyi bir programlama stilidir.

İki case sabiti aynı değeri alamaz.

Switch/case yapısında, programın kontrolünün ifadenin değerine göre case seçeneklerinden sadece birini çalıştırıp bundan sonra switch/case yapısını terketmesini isiyorsak bu durumda her case seçeneğinden sonra break komutu yerleştirmeliyiz.

  • C DİLİ: Switch/case yapısında, programın kontrolünün ifadenin değerine göre case seçeneklerinden sadece birini çalıştırıp bundan sonra switch/case yapısını terketmesini istiyorsak bu durumda her case seçeneğinden sonra break komutu yerleştirmeliyiz.
  • C# DİLİ: Her caseden sonra break kullanmamız gerekir.

 

Örnek Program:



import java.util.Scanner;

public class Cases{
    public static void main(String args[]) {
        Scanner giris = new Scanner(System.in);
        int secim;

        System.out.println("Secim yapiniz (1 - 2 - 3)");
        secim=giris.nextInt();

        switch (secim) {
        case 1 :
            System.out.println("A sinifi dergilerin listesi");
            break;

        case 2 :
            System.out.println("B sinifi dergilerin listesi");
            break;

        case 3 :
            System.out.println("C sinifi dergilerin listesi");
            break;

        default :
            System.out.println("Hatali secim! 1, 2 ya da 3'e basiniz.");
            break;
        }
    }
}

Bu programın çıktısı aşağıdaki gibi gerçekleşecektir:

 

switch / case yapısıyla ilgili örnek:

Bir turizm şirketi farklı tur çeşitlerinden oluşan bir liste sunuyor. Kullanıcı bu listeden ilgilendiği bir turu seçtiğinde, o turla ilişkili ayrıntılı bilgiye ulaşıyor. Burada aşağıdaki basit algoritmayı uygulayacağız

  1. Tur seçenekleri ekrana yazdırılır.
  2. Kullanıcıdan bu tur seçeneklerinden bir tanesini seçmesi istenir.
  3. Kullanıcının seçimine uygun olan tur hakkındaki bilgiler ekrana yazdırılır.

 

 

 

 

 



import java.io.IOException;
import java.util.Scanner;

public class Cases2{
    public static void main(String args[]) throws IOException{
        Scanner giris = new Scanner(System.in);
        int i;

        System.out.println("Portakal Turizm A.S. Sunar");
        System.out.println("(1) Orta Avrupa Turu");
        System.out.println("(2) Amerika Turu");
        System.out.println("(3) Uzak Dogu Turu");
        System.out.println("Seciminiz?");
        i = giris.nextInt();

        switch (i) {
        case 1 :
            System.out.println("Ucak ile Viyana, Budapeste, Prag");
            System.out.println("4 yildizli otellerde sok! 1700$\n");
            break;

        case 2 :
            System.out.println("Ozel ucak ile New York, Boston, Los Angeles");
            System.out.println("5 yildizli otellerde sok! 3700$\n");
            break;

        case 3 :
            System.out.println("Ozel ucak ile Bang Kong, Hong Kong");
            System.out.println("Tokyo, Pekin");
            System.out.println("5 yildizli otellerde sok! 4000$\n");
            break;

        default :
            System.out.println("Hatali secim! 1, 2 veya 3 girilmeli");
            break;
        }
    }
}

Programın çıktısı aşağıdaki gibi olacak: