JAVA Kodlama Örnekleri #31 - Switch Case
Switch / Case yapısı daha önceki yayınlarda ele aldığımız if-else yapısına benzer olup, tek bir ifadenin değerine göre birçok farklı komut işlememizi sağlayan bir yapıdır. switch tamsayı değeri, hangi case’i izleyen tamsayı değerine eşitse, programın kontrolü o case’i izleyen kısma geçer ve o case’den sonraki işlemler de kontrol edilmeden çalıştırılır. Herhangi iki case değeri eşit olamaz.
Karşılaştıracak olursak;
Program if yapısı ile karşılaştığında koşulu kontrol eder ve eğer doğruysa if işlemlerini yapar, yanlışsa if bloğuna girmez.
Program if / else yapısı ile karşılaştığında, if koşulunu kontrol eder ve eğer doğruysa if işlemlerini yapar, yanlışsa else işlemlerini yapar.
Program if / else if yapısı ile karşılaştığında, if koşulunu kontrol eder ve eğer doğruysa if işlemlerini yapar, yanlışsa else if koşulunu kontrol eder ve eğer doğruysa else if işlemlerini yapar, yanlışsa else if bloğuna girmez.
Program if / else if / ... / else yapısı ile karşılaştığında, if koşulunu kontrol eder ve eğer doğruysa if işlemlerini yapar, yanlışsa else if koşulunu kontrol eder. Else if koşullarından herhangi biri doğruysa ona ait else if işlemlerini yapar. else if koşullarının hepsi yanlışsa else işlemlerini yapar.
Program switch / case yapısı ile karşılaştığında, switch değeri kaç ise, ona eşit olan case değeri işlemlerinden başlayarak geriye kalan case işlemlerini sırasıyla yapar. Eğer switch değeri her hangi bir case değerine eşit değilse yalnızca default işlemleri yapar. default kısmını kullanmak mecburi değildir. Kullanılmadığı ve switch ile herhangi bir case değeri eşit değilse program hiçbir case işlemi yapmadan switch/case yapısından çıkar. Eğer Programın bir case değerinden başlayıp sona kadar tüm case işlemlerini yapmasını istemiyorsak, bu kontrolü de case işlemleri içerisinde kullanacağımız break deyimi ile sağlayabiliriz.
ÖRNEK;
Programımız bizden 1'den 7' ye kadar bir rakam girmemizi istesin. İstenilen aralık dışında bir rakam/sayı girdiğimizde hatalı giriş yaptığımızı belirterek tekrar giriş yapmamızı istesin. Doğru giriş yaptığımızda ise (1 girince Pazartesi, 2 girince Salı ... 7 girince Pazar şeklinde) haftanın günlerinden hangisine denk geliyorsa sadece o günü ekrana yazsın ve program sonlansın.
import java.util.Scanner;
public class Switch_Case {public static void main(String[] args) {
Scanner girdi = new Scanner(System.in);
boolean donguDevam = true;
while (donguDevam) {
System.out.print("1-7 aralığında bir rakam giriniz: ");
int deger = girdi.nextInt();
switch (deger) {
case 1:
System.out.println("Pazartesi");
donguDevam = false;
break;
case 2:
System.out.println("Sali");
donguDevam = false;
break;
case 3:
System.out.println("çarsamba");
donguDevam = false;
break;
case 4:
System.out.println("Persembe");
donguDevam = false;
break;
case 5:
System.out.println("Cuma");
donguDevam = false;
break;
case 6:
System.out.println("Cumartesi");
donguDevam = false;
break;
case 7:
System.out.println("Pazar");
donguDevam = false;
break;
default:
System.out.println("Hatalı değer girdiniz.");
donguDevam = true;
}
}
}
}
Altta program kodları ve program çıktısında görüldüğü gibi, 1-7 aralığında olmayan bir değer girdiğimiz sürece donguDevam boolean değişkenimiz true olmakta ve tekrar değer girmemiz istenmekte. 1-7 aralığında olan 6 değerini girdiğimizde ise program case 6'nın işlemlerini yaparak konsola Cumartesi yazmakta.
if(begendim){
ARKADAŞLARIN İLE PAYLAŞ :)
}
İyi kodlamalar...
Yorumlarınızı Bekliyorum