Java’da switch case yapısı if-else yapısına alternatif olarak oluşturulmuştur. Uzun uzun if else şartları oluşturmak yerine, switch case yapısı ile kısa bir şekilde program yapabiliriz. Ama bir aralık olan koşullarda switch case yapısını kullanamayız, switch case doğrudan değer kontrolü yapar. Switch case ile ilgili örneklere geçelim.
1. Örnek
Switch case yapısı ile ayları ekrana yazdıran program.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | Scanner scanner = new Scanner(System.in); System.out.println("1-12 arasında ay değeri giriniz"); int n= scanner.nextInt(); switch(n) {//Switch içerisine kontrol edeceğimiz değişkeni yazarız. case 1://Switch içerisindeki değişkenin değeri ile case'deki değer eşleştiği zaman //eşleşen case bloğuna girilir. System.out.println("Ocak"); break; case 2: System.out.println("Şubat"); break; case 3: System.out.println("Mart"); break; case 4: System.out.println("Nisan"); break; case 5: System.out.println("Mayıs"); break; case 6: System.out.println("Haziran"); break; case 7: System.out.println("Temmuz"); break; case 8: System.out.println("Ağustos"); break; case 9: System.out.println("Eylül"); break; case 10: System.out.println("Ekim"); break; case 11: System.out.println("Kasım"); break; case 12: System.out.println("Aralık"); break; default: System.out.println("Geçersiz seçim"); break; } |
Ekran Çıktısı
1 2 3 | 1-12 arasında ay değeri giriniz 3 Mart |
2. Örnek
Şimdi switch case ile basit bir hesap makinesi programı yapalım.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | Scanner scanner = new Scanner(System.in); int n,y; String secenekler = "Toplama işlemi için 1 \n" +"Çıkarma işlemi için 2 \n" +"Çarpma işlemi içi 3 \n" +"Bölme işlemi için 4'e basınız "; System.out.println(secenekler); System.out.println("İşlem seçiniz"); String secenek = scanner.nextLine(); switch (secenek) { case"1": System.out.println("Birinci sayıyı giriniz"); n = scanner.nextInt(); System.out.println("İkinci sayıyı giriniz"); y = scanner.nextInt(); System.out.println("Sayılarınızın toplamı = "+(n+y)); break; case "2": System.out.println("Birinci sayıyı giriniz"); n = scanner.nextInt(); System.out.println("İkinci sayıyı giriniz "); y = scanner.nextInt(); System.out.println("Sayılarınız çıkarıldığınıda = "+(n-y)); break; case "3": System.out.println("Birinci sayıyı giriniz"); n = scanner.nextInt(); System.out.println("İkinci sayıyı giriniz "); y = scanner.nextInt(); System.out.println("Sayılarınızın çarpımı = "+(n*y)); break; case "4": System.out.println("Birinci sayıyı giriniz"); n = scanner.nextInt(); System.out.println("İkinci sayıyı giriniz "); y = scanner.nextInt(); System.out.println("Sayıların bölünme değeri = "+(n/y)); break; default : System.out.println("Geçersiz bir değer girdiniz."); } |
Ekran Çıktısı
1 2 3 4 5 6 7 8 9 10 11 | Toplama işlemi için 1 Çıkarma işlemi için 2 Çarpma işlemi içi 3 Bölme işlemi için 4'e basınız İşlem seçiniz 3 Birinci sayıyı giriniz 10 İkinci sayıyı giriniz 5 Sayıların çarpımı = 50 |
3. Örnek
Bu örneğimizde switch case ile sayının karekökünü hesaplama, sayının üssünü hesaplama ve sayının karesini alma programı yapacağız.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | Scanner scanner = new Scanner(System.in); System.out.println("Sayının karekökünü hesaplamak için 1"); System.out.println("Sayının üssünü hesaplamak için 2"); System.out.println("Sayının karesini almak için 3'e basınız."); int n,z; System.out.println(""); int y = scanner.nextInt(); switch(y) { case 1: System.out.println("Karekökünü almak istediğiniz sayıyı yazın."); n = scanner.nextInt(); System.out.println("Sayının karekökü = "+ Math.sqrt(n));//Sayının karekökükünü almak için Math.sqrt() sınıfını kullandık. break; case 2: System.out.println("Üssünü almak istediğiniz sayıyı giriniz."); n = scanner.nextInt(); System.out.println("Sayı üssünü giriniz "); z = scanner.nextInt(); System.out.println("Girilen sayının "+ (z) +" üssü = " + Math.pow(y, z));//Sayının üssünü hesaplamak için Math.pow sınıfını kullandık break; case 3: System.out.println("Karesini almak istediğiniz sayıyı yazınız."); n= scanner.nextInt(); System.out.println("Sayının karesi = " + (n*n)); break; } |
Ekran Çıktısı
1 2 3 4 5 6 7 8 | Sayının karekökünü hesaplamak için 1 Sayının üssünü hesaplamak için 2 Sayının karesini almak için 3'e basınız. 1 Karekökünü almak istediğiniz sayıyı yazın. 25 Sayının karekökü = 5.0 |
Mert kardeşim yazıların güzel ama biraz kısa olmuş sanki keşke daha detaylandırıp yazsaydın benim gibi 0 bilgili birisi için az bir içerik bulunuyor yazında.