Java da Switch-Case Yapısı Nedir ve Nasıl Kullanılır ?
Switch Case yapısı if else yapısının karışıklık oluşturacağı yerlerde tercih edilir, girilen veriye göre sınırsız işlem yaptırılmak isteniyorsa bu yapı kullanılır.
switch - case Nedir? Ne işe Yarar ? Nasıl kullanılır ?
bir değer sonucuna göre işlem sağlamak istiyorsak ve bunu if-else komutunun karmaşıklaştığı bir noktada yaparken switch-case yapısı tercih edilir, bu yapı ile sonsuz işlem tanımlama yapılabilir, girilen bir değere göre "case" ler oluşturulur ve bunlara yapılacak işlem tanımlanır.
- switch sözcüğünden hemen sonra gelen ifade parantez içinde yer almalı.
- case anahtar sözcüklerini izleyen ifadeler değişken içermemelidir.
- break komutu ile sonlandırılır, uyuşmayan ifade de kullanılacak işlem ve ya mesaj seçilir
- İki case sabiti aynı değeri alamaz.
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 ve burada ki işlem uygulanır (case lere tanımlı olmayan case lerin dışında kalan işlem)
Switch/case yapısında,case lerin çalıştırılıp 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.
JAVA UYGULAMA KODUMUZ :
uygulamamız sizden iki adet sayı alır, bunlar int tipinde yani sayı değeri içerir daha sonra op değeri ister yani yapılacak işlemi dışardan ister siz (+,-,*,/) , değer girilince case de tanımlanan ya da girilen karaktere eşlenen işlemi yürürlüğe koyar, daha sonra bu işlemden sonra yapıdan çıkması için break kodu uygulanır.
mport java.util.Scanner;
public class BasitHesaplama {
public static void main(String[] args) {
int sayi1, sayi2; // sayı değerlerimizin int tipinde olduğu anlamına gelir
String op; // op değişkeni string tipindedir (+ - * / )
Scanner sc = new Scanner(System.in); // sc değişkeni dışardan girilen değere eşler ( klavye değeri)
System.out.println("Sayilari giriniz: ");
sayi1 = sc.nextInt(); // int tipinde sayı girin
sayi2 = sc.nextInt(); // int tipinde sayı girin
System.out.println("Yapmak İstediğiniz İşlem Karakterini Giriniz: "); // op işleminde yapılacak işlemi seçiniz
op = sc.next();
switch(op) {
case "+": // + işlemi girilirse bu case yi uygula
System.out.println("Sonuc: " + (sayi1 + sayi2)); // uygulanan case in sonucunu ekrana yazar
break; // bu case yi uyguladıktan sonra yapıdan çık
case "-":
System.out.println("Sonuc: " + (sayi1 - sayi2));
break;
case "*":
System.out.println("Sonuc: " + (sayi1 * sayi2));
break;
case "/":
System.out.println("Sonuc: " + ((double)(sayi1) / sayi2));
break;
default:
System.out.println("Yanlış operatör");
}
}
}