Anotasyon

Temel Java Dersleri – Java Switch Case

Merhaba Arkadaşlar,
mobilhanem.com üzerinden anlattığımız/yayınladığımız derslerimize Temel Java Dersleri serisi altında Java Switch Case konusuyla devam ediyoruz.

Bir önceki dersimizde anlattığımız if-else yapısından farklı olarak Java Switch Case yapısında bir çok değişkene göre farklı durumlar yazılabilir. Switch yapısı Java Veri Tipleri ve Değişkenler dersimizde anlattığımız primitive veri tiplerinden olan byte, short, char, int değerleri ile çalışır. Ayrıca daha sonra göreceğimiz, Javada enumerated tipler olarak geçen ve kullanıcı tarafından oluşturulabilen tiplere de destek vermektedir.

Bu dersimizde Java Switch Case yapısına uygun olacağı için yılın ayları projesi ile örnekler hazırlayıp konuyu daha iyi anlamanızı sağlayacağız. Başlangıç olarak yazacağımız uygulamada hangi ayın hangi sayıya denk geldiğini switch-case yapısıyla belirtip, seçilen ayın ismini yazdıracağız.

switch(integerDeger) Örneği

package com.mobilhanem.ders;

/**
 * Created by ErenBasaran on 30/08/16. [email protected]
 * https://www.mobilhanem.com
 */
public class SwitchCaseSample {
    public static void main(String[] args) {
        //Secilen ay degeri
        int ayDegeri = 7;
        //Yazdirilacak ay degeri
        String ayDegeriStr = null;

        //switch - case ile hanig ayın hangi sayıya denk geldiginin belirtildigi bolum
        switch(ayDegeri) {
            case 1:
                ayDegeriStr = "Ocak";
                break;
            case 2:
                ayDegeriStr = "Şubat";
                break;
            case 3:
                ayDegeriStr = "Mart";
                break;
            case 4:
                ayDegeriStr = "Nisan";
                break;
            case 5:
                ayDegeriStr = "Mayıs";
                break;
            case 6:
                ayDegeriStr = "Haziran";
                break;
            case 7:
                ayDegeriStr = "Temmuz";
                break;
            case 8:
                ayDegeriStr = "Ağustos";
                break;
            case 9:
                ayDegeriStr = "Eylül";
                break;
            case 10:
                ayDegeriStr = "Ekim";
                break;
            case 11:
                ayDegeriStr = "Kasım";
                break;
            case 12:
                ayDegeriStr = "Aralık";
                break;
            default:
                break;
        }
        //Konsol ekranina secilen ayin yazdirildigi bolum
        System.out.println("Seçilen Ay Değeri: " + ayDegeriStr);
    }
}

Yukarıda ki örnek kodda case içerisinde ayDegeriStr değişkenine hangi ay ise o ayın değeri atanmıştır ve ardından break; komutuyla case içerisinden çıkılmıştır. break konusuna şimdilik çok fazla takılmıyoruz, bu konuyla ilgili ayrıca bir dersimiz olacaktır. Kısaca bahsetmek gerekirse, case değeri içerisine girildikten sonra diğer case değerlerini kontrol etmemesi için break ile case‘den çıkılıyor.

Yazmış olduğumuz kodun en üstünde ayDegeri olarak bir int değişken tanımladık ve bu değişkene 7 değerini atadık, geliştireceğiniz kodlarda bu kısım genellikle dışarıdan gelecek veya bir kullanıcı tarafından girilecektir. Bu şekilde hardcode tanımlamalar yani kodun içerisine gömülmüş değer tanımalaları genellikle örneklerde yapılır. Atadığımız bu değeri 1 ile 12 arasında istediğiniz bir değer aralığında verebilirsiniz. Bu değerler haricinde bir değer atadığınızda,

default:
    break;

bölümüne girecek ve ayDegeriStr degeri null olarak kalacaktır. Yukarıdaki örnekte biz ayDegeri değişkenine 7 değerini atadığımız için konsol ekranı aşağıdaki gibi olacaktır.

Java Switch Case - 1

Java Switch Case ile primitive tiplerin yanında String veri tipini de kullanarak kod geliştirebiliriz. Bu konuya yönelik aşağıdaki gibi bir örnek kod yazdık.

switch(stringDeger) Örneği

package com.mobilhanem.ders;

/**
 * Created by ErenBasaran on 30/08/16.
 * www.mobilhanem.com
 */
public class AnotherSwitchCaseSample {

    public static void main(String[] args) {

        String ayDegeriStr = "Temmuz";
        int ayDeger = -1;

        switch(ayDegeriStr.toLowerCase()) {
            case "ocak":
                ayDeger = 1;
                break;
            case "subat":
                ayDeger = 2;
                break;
            case "mart":
                ayDeger = 3;
                break;
            case "nisan":
                ayDeger = 4;
            case "mayis":
                ayDeger = 5;
                break;
            case "haziran":
                ayDeger = 6;
                break;
            case "temmuz":
                ayDeger = 7;
                break;
            case "agustos":
                ayDeger = 8;
                break;
            case "eylul":
                ayDeger = 9;
                break;
            case "ekim":
                ayDeger = 10;
                break;
            case "kasim":
                ayDeger = 11;
                break;
            case "aralik":
                ayDeger = 12;
                break;
            default:
                break;
        }
        System.out.println(ayDegeriStr + " ayı yılın " + ayDeger + ". ayıdır.");
    }
}

Bu örneğimizde de konsol çıktısı aşağıdaki gibi olacaktır.

Java Switch Case - 2

Bu dersimizde sizlere Java Switch Case yapısından bahsettik.

github_logo

Örnek uygulamanın tamamına GitHub üzerinden erişebilirsiniz.

Konuyla ilgili yorumlarınızı konu altından yapabilirsiniz, ayrıca sorularınızı yine konu altından ve Mobilhanem Soru&Cevap bölümünden sorabilirsiniz.

Tüm Temel Java Dersleri için tıklayınız..

35

Eren Başaran

Software Developer
Mobilhanem Yazarı

3 Yorum

  • Anlamayan arkadaşalr için biraz karışık olmuş çünkü şimdi arkadaşlar ilk olarak bi değer belirliyoruz mesala
    int gun = 5; dedik
    ilk olarak bir switch belirtecez
    switch(gun) simdi bir switch belirledik icinede bizim belirledigimiz degeri 5 olan gun koyduk yani simdi switch 5 numaralı case arayacak

    int gun = 5;

    switch (gun) {

    case 1:
    System.out.print(“Gun 1”);
    break;
    … 5.gün geliyoruz … 2 – 3 – 4 günler (bu sadece üşengeçlik javada çalışmaz :d)
    System.out.print(“Gun 5”)
    System.out.print(“5.Gun”);
    break;
    defalut:
    System .out.print(“Gecersiz gun”);
    }

    şimdi java ne yapıyor bakıyor bu eleman ne yapmış sayı ile bir 5 belirlemiş sonra bir daha bakıyor bide switch belirlemis bu simdi bu switch icine ne belirlemis yani ben ne arayacagım sonra bakıyor caselere ve karşılaştırıyor bakıyor case 1 ama java verilen deger bu olamaz diyor 5’e kadar böyle kontrol ediyor en son bakıyor bunun verdiği deger ile case 5 degeri aynı hah işte bunu arıyordum diyor şartlara bakıyor ve şartı yapıyor ama mesala olmayan bir deger verdik 5 tane case var biz 6 verdik bunun için hata mesajı lazım onuda default: ile veriyoruz bakıyor verilen değerlerin hiç biri yok defalut verdiğimiz şartı uyguluyor bunlarıda milisaniyelerde yapıyor 😀

Haftalık Bülten

Mobilhanem'de yayınlanan dersleri haftalık mail almak ister misiniz?