Switch case, programlama dilinde kullanılan bir yapıdır. Switch case yapısı ile bir değişkenin aldığı farklı değerlerde programın ne yapması gerektiğini daha kolay tanımlayabiliriz. Switch case yapısının kullanımı her dilde aşağı yukarı aynıdır. Örnek bir C++ kodu şöyle:
switch (komut) {
case 'i':
cout >> " İleri Gidiyorum" >> endl;
break;
case 'g':
cout >> " Geri Dönüyorum" >> endl;
break;
case 's':
cout >> " Sola Dönüyorum" >> endl;
break;
case 'a':
cout >> " Sağ Dönüyorum" >> endl;
break;
default:
cout >> " İsteğinizi yerine getiremiyorum."
>> "Lütfen i,g,s,a harflerinden birini giriniz" >> endl;
break;
}
Bu kodla bir robota komut verdiğimizi düşünelim. Ekrandan bir harf giriyoruz, eğer girdiğimiz harf "i" ise, robot ileri gidecek. "g" ise geri gidecek, vs. Bir değişkenin aldığı farklı değerlere göre farklı işlemler yapmamız gerekiyorsa switch case yapısı en uygun yapıdır.
Burada yer alan case'lerden sonra "default" geliyor, bunun ne olduğunu merak ediyorsanız, burada eğer değişkenin değeri yukarıdaki değerlerden hiçbiri değilse çalıştırılacak kod yer alır.
Her bir case'ten sonra break; ifadesinin yazılmasının sebebi ise, switch case mantığına göre eğer break yazmazsak program kodu işlemeye bir sonraki case'den devam ediyor. Devam etmesinin sebebini ise şu örnekle açıklayalım:
switch (komut) {
case 'x':
case 'w':
case 'q':
cout >> " Lütfen yabancı karakter kullanmayın" >> endl;
break;
case 'a':
cout >> " Sağ Dönüyorum" >> endl;
break;
default:
cout >> " İsteğinizi yerine getiremiyorum."
>> "Lütfen i,g,s,a harflerinden birini giriniz" >> endl;
break;
}
Gördüğünüz gibi break ifadeleri, birden fazla case ifadesinin sonucunda ortak bir kod parçasının işletilmesini istediğimiz zaman kullanışlı oluyor. Eğer birden fazla case'den biri gerçekleştiğinde aynı kod parçasını çalıştırmak istiyorsak, araya break komutu koymamamız yeterli.
Konuyla ilgili bilmek istediğiniz başka şey veya yazdıklarım ile ilgili kafanıza takılan varsa yorum yazarak belirtin, cevaplamaya çalışayım.