- Katılım
- 22 Ağustos 2013
- Mesajlar
- 15.504
- Makaleler
- 35
- Çözümler
- 78
• Bir programda çok sayıda koşul kontrolü ve bunların sonucuna göre gerçekleştirilmesi gereken işlemler varsa, if-else yapıları ile akışın izlenmesi zorlaşabilir. Böyle durumlar genellikle switch deyiminin kullanılmasının gerekli olacağı durumlardır. switch deyimi, tek bir ifadenin değerine göre sınırsız sayıda çalıştırma yolu belirlemeyi sağlayan bir komuttur.
•switch case en tepeden başlayarak şartları tek tek kontrol eder. Uygun şart yakalanırsa, bundan sonra ki ifadeleri kontrol etmeden doğru kabul eder ve yapı dışına çıkılır.
• switch deyiminin çalışma prensibi aşağıdaki gibidir. 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.
• switch sözcüğünden hemen sonra gelen ifade parantez içinde yer almalı ve bir tamsayı ifade olmalıdır.
• case anahtar sözcüklerini izleyen ifadeler tamsayı sabit türünde ifadeler olmalıdır, yani değişken içermemelidir.
• Switch/case yapısında, programın kontrolünün ifadenin değerine göre case seçeneklerinden sadece biri çalıştırılıp bundan sonra switch/case yapısı terkedilmek isteniyorsa, bu durumda her case seçeneğinden sonra break komutunun yerleştirilmesi gerekmektedir.
• switch/case, iç içe if yapısına oldukça benzer bir ifadedir. Ancak aralarında iki fark bulunmaktadır. Birincisi, switch/case yapısında aralık değeri girilmez, direkt olarak ifadelerin bir şeylere eşit olup olmadığına bakılır. İkinci farksa, switch/case yapılarında uygun koşulun sağlanmasıyla yapının kesilmek zorunluluğunun olmayışıdır. break komutu kullanılmadığı takdirde, diğer şartların içindeki işlemleri de yapma imkanı vardır.
•Diğer bir ifade ile break koyulduğu takdirde, uygun koşul sağlandıktan sonra daha fazla kontrol yapılmayacak ve aynen iç içe if yapısında olduğu gibi program orada kesilecektir. Eğer break ifadesi koyulmaz ise, ifadenin altında kalan bütün işlemler -bir daha ki break'e kadar- yapılacaktır.
Örnek :
•switch case en tepeden başlayarak şartları tek tek kontrol eder. Uygun şart yakalanırsa, bundan sonra ki ifadeleri kontrol etmeden doğru kabul eder ve yapı dışına çıkılır.
• switch deyiminin çalışma prensibi aşağıdaki gibidir. 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.
Kod:
switch(deyim)
{
case değer1:
ifade(ler);
break;
case değer2:
ifade(ler);
break;
case değer3:
ifade(ler);
break;
default:
ifade(ler);
}
• switch sözcüğünden hemen sonra gelen ifade parantez içinde yer almalı ve bir tamsayı ifade olmalıdır.
• case anahtar sözcüklerini izleyen ifadeler tamsayı sabit türünde ifadeler olmalıdır, yani değişken içermemelidir.
• Switch/case yapısında, programın kontrolünün ifadenin değerine göre case seçeneklerinden sadece biri çalıştırılıp bundan sonra switch/case yapısı terkedilmek isteniyorsa, bu durumda her case seçeneğinden sonra break komutunun yerleştirilmesi gerekmektedir.
• switch/case, iç içe if yapısına oldukça benzer bir ifadedir. Ancak aralarında iki fark bulunmaktadır. Birincisi, switch/case yapısında aralık değeri girilmez, direkt olarak ifadelerin bir şeylere eşit olup olmadığına bakılır. İkinci farksa, switch/case yapılarında uygun koşulun sağlanmasıyla yapının kesilmek zorunluluğunun olmayışıdır. break komutu kullanılmadığı takdirde, diğer şartların içindeki işlemleri de yapma imkanı vardır.
•Diğer bir ifade ile break koyulduğu takdirde, uygun koşul sağlandıktan sonra daha fazla kontrol yapılmayacak ve aynen iç içe if yapısında olduğu gibi program orada kesilecektir. Eğer break ifadesi koyulmaz ise, ifadenin altında kalan bütün işlemler -bir daha ki break'e kadar- yapılacaktır.
Dosya Ekleri
Son düzenleme: