Merhaba Arkadaşlar,
phphocasi.com.tr ü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.phphocasi.com.tr */ 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 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.phphocasi.com.tr */ 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.
Bu dersimizde sizlere Java Switch Case yapısından bahsettik.
Ö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