5.00 / 1 oy

Programlama dillerinde if ile switch case arasındaki fark nedir?

İlgili yazılarım için öncelikle;

bkz: C# Switch Case kullanımı ve örnekleri

bkz: C# iç içe if kullanımı ve örnekleri

bkz: C# if - else if - else kullanımı ve örnekleri

C# programlama dili konusunda hemen her gün geceleri birşeyler yazmaya ve paylaşmaya çalışıyorum. Bu yazıyı ise C# yerine programlama dilleri olarak genelleyerek açmak istedim, çünkü hem switch ifadesi hem de if ifadesi çoğu programlama dilinde mevcut olan koşul ifadeleri.

Yazım tekniği açısından her ikisi için de örnekler paylaştım ve birisi ile hazırlanan bir uygulamanın bir diğeri için de kullanılabileceğini biliyoruz. Ancak hangi durumda if ve hangi durumda da switch kullanacağımıza karar vermek için aşağıdaki maddeleri dikkate alabiliriz.

- Aralıklarla ifade edilen sayısal koşullar için çok daha kullanışlıdır, örneğin bir sayının x'ten büyük ve y'den küçük olması gibi durumlar için if kullanımı tercih edilebilir

- İç içe if blokları halinde çok sayıda eğer bir sayı x'e eşitse bunu yap, y'ye eşitse bunu yap bloklarında if kullanmak yerine switch kullanmak hem yazım, hem de kod okunabilirliği anlamında kolaylık sağlar

- if - else if  - else ifadeleri boolean veri tipini kullanarak işlem yaparlar. Örneğin if içine true yazdığınızda kesin olarak çalışacak bir koşullu ifadeniz olur. Bu açıdan özellikle debug süreçlerinde if bloklarının kullanımı çok daha pratiktir

- Hız açısından switch mi hızlıdır yoksa if mi derseniz internette bu konuda performans ve süre bazlı karşılaştırmalar mevcut. Özetlemek gerekirse çok sayıda koşul içeren durumlarda switch kullanmak if'e göre programınızın daha hızlı çalışmasını sağlıyor. Bunun haricinde iki koşul ifadesi arasında dikkate değer bir performans farklılığı bulunmuyor.

- Switch ifadesinin hangi değişken türleri ile kullanılabileceği de programlama dillerine göre değişiklik gösteriyor. Kimi dillerde sadece int ve char veri tipinde değişkenler ile switch ifadesi yazılabilirken kimilerinde ise string de kullanılabiliyor. if'in temel mantığı ise if'in koşul ifadesinin boolean olması ve koşullardaki değişkenler de bu şekilde kolayca düzenlenebilir.

Önceki yazılarımdan bazıları için;

bkz: Programlamada metodların static olması ile olmaması arasındaki fark nedir?

bkz: Metodlarda void ile return ifadeleri arasındaki fark nedir?

bkz: camelCase ve PascalCase Nedir ve Nasıl Yazılır?

mbologlu

04.04.2021 03:25

Bu soru henüz yanıtlanmamış.

Bu soruya sadece kayıtlı kullanıcılar yanıt yazabilirler. Yanıt yazmak için lütfen giriş yapınız.

Reitix
Programlama dillerinde if ile switch case arasındaki fark nedir?

İnternet sitemizdeki deneyiminizi iyileştirmek için çerezler kullanıyoruz. Bu siteye giriş yaparak çerez kullanımını kabul etmiş sayılıyorsunuz. Daha fazla bilgi.