İf-else ve switch Arasındaki Fark

Yazar: Laura McKinney
Yaratılış Tarihi: 3 Nisan 2021
Güncelleme Tarihi: 4 Mayıs Ayı 2024
Anonim
Рефакторинг: switch vs if-else vs enum vs HashMap [Шаблон "Команда"]
Video: Рефакторинг: switch vs if-else vs enum vs HashMap [Шаблон "Команда"]

İçerik


“If-else” ve “switch” her ikisi de seçim ifadeleridir. Seçim ifadeleri, koşulun “doğru” veya “yanlış” olup olmadığına bağlı olarak programın akışını belirli ifade bloklarına aktarır. İf-else ve switch ifadeleri arasındaki temel fark, if-else ifadesinin “if ifadelerinde ifadenin değerlendirilmesine dayanarak ifadelerin yürütülmesini seçmesi” dir. Switch ifadeleri “genellikle bir klavye komutuna dayanarak ifadenin yürütülmesini seçer”.

  1. Karşılaştırma Tablosu
  2. Tanım
  3. Anahtar Farklılıklar
  4. Sonuç

Karşılaştırma Tablosu

Karşılaştırma için temelif-elseşalter
TemelHangi ifadenin çalıştırılacağı if ifadesinin içindeki ifadenin çıktısına bağlıdır.Hangi ifadenin yürütüleceğine kullanıcı karar verir.
ifadeif-else ifadesi, birden fazla seçenek için birden fazla ifadeyi kullanır.switch ifadesi, birden çok seçenek için tek ifade kullanır.
Test yapmakif-else ifadesi eşitlik ve mantıksal ifade için test eder.sadece eşitlik için ifade testi geçin.
Değerlendirmedeyim, tamsayı, karakter, işaretçi veya kayan nokta tipini veya boolean tipini değerlendirirse.switch ifadesi yalnızca karakter veya tam sayı değerini değerlendirir.
İcra Sırasıİfade çalıştırılacaksa ya da ifade çalıştırılırsa.switch ifadesi, break ifadesi görününceye veya switch ifadesinin sonuna ulaşılıncaya kadar birbirini takip edin.
Varsayılan Yürütmeİfadeler içindeki yanlış ise, varsayılan olarak else ifadesi oluşturulursa çalıştırılır.Anahtar ifadelerinin içindeki koşul hiçbir durumda eşleşmiyorsa, bu durumda, varsayılan ifadeler oluşturulursa yürütülür.
düzenlemeNested if-else ifadesi kullanılıyorsa if-else ifadesini düzenlemek zordur.Anahtar kutularını kolayca tanırlar, böylece kolayca düzenlenebilir.

İf-else'un tanımı

İf-else ifadeleri OOP'deki seçim ifadelerine aittir. İf-else ifadelerinin genel şekli aşağıdaki gibidir.


if (expression) {deyim (ler)} else {deyim}

burada “if” ve “else” anahtar kelimelerdir ve ifadeler tek bir ifade veya bir ifade bloğu olabilir. İfade, sıfır olmayan herhangi bir değer için “doğru”, sıfır için “yanlış” olarak değerlendirilir.
İf ifadesinde bir tamsayı, karakter, işaretçi, kayan nokta ya da bir boole türü olabilir. Else ifadesi bir if-else ifadesinde isteğe bağlıdır. İfade doğru dönerse, deyim çalıştırılırsa içindeki ifadeler ve yanlış döndürürse else ifadesinin içindeki ifadeler çalıştırılır ve başka bir ifadenin oluşturulmaması durumunda herhangi bir işlem yapılmaz ve programın kontrolü atlar bir if-else ifadesi.

Bir örnekle anlamamızı sağlar.

int i = 45, j = 34; eğer (i == 45 & j == 34) {cout << "i =" <

Anahtarın tanımı

Switch ifadeleri çoktan seçmeli bir seçim ifadesidir. Switch ifadesinin genel formu aşağıdaki gibidir

anahtar (ifade) {vaka sabiti1: İfade (ler); break; case constant2: ifadeler; break; case constant3: ifadeler; break; . . varsayılan ifadeler; }

İfadenin bir tamsayı veya karakter sabitlerini değerlendirdiği yer. Buradaki ifade sadece eşitliği değerlendirir. İfade, durum ifadelerinde mevcut sabitlere karşı doğrulanır. Bir eşleşme bulunursa, bu durumla ilgili ifadeler bir “ara” oluşuncaya kadar yürütülür. Break ifadesi case ifadelerinde isteğe bağlı olduğundan, break ifadesi yoksa, yürütme switch ifadesinin sonuna kadar durmaz.
İfade sadece tek bir ifade içerir. Switch ifadesi genellikle birden fazla vaka ifadesinden birini seçmek için bir klavye komutu kullanır.

int c; cout << "1 ile 3 arasında bir değer seçin"; cin >> i; anahtar (i) {vaka 1: cout << "karanlık çikolata seçmelisin"; break; durum 2: cout << "şeker seçin"; break; durum 3: cout << "lolipopu seçersin"; break; . . varsayılan manşet << "hiçbir şey seçmiyorsunuz"; }

Burada “i” değeri, hangi durumun yürütüleceğine karar verecektir, bir kullanıcı 1, 2 veya 3'ten farklı bir “i” değeri verirse, varsayılan durum yürütülür.

  1. İfadenin içindeki ifade, bloktaki veya blok altındaki ifadelerin içindeki ifadelerin yürütülüp yürütülmeyeceğine karar verir. Öte yandan, switch ifadesinin içindeki ifade hangi vakanın yürütüleceğine karar verir.
  2. Çoktan seçmeli ifadeler için birden çok if ifadesine sahip olabilirsiniz. Anahtar olarak, çoklu seçenekler için sadece bir ifadeye sahipsiniz.
  3. If-esle deyimi eşitliği ve mantıksal ifadeyi kontrol eder. Öte yandan, anahtar sadece eşitlik için kontrol eder.
  4. İf ifadesi tam sayı, karakter, işaretçi veya kayan nokta tipini veya boolean tipini değerlendirir. Öte yandan, switch ifadesi yalnızca karakteri veya bir tam sayı veri türünü değerlendirir.
  5. Yürütme sırası ya bloğun çalışacağının altındaki ifadeye ya da diğer ifadenin altındaki ifadeye uygulanacaktır. Öte yandan, switch ifadesindeki ifade hangi durumun yürütüleceğine karar verir ve her durumdan sonra bir break ifadesi uygulamazsanız, switch ifadesinin sonuna kadar yürütülür.
  6. İçindeki ifadenin yanlış olduğu ortaya çıkarsa, başka bir bloğun içindeki ifade çalıştırılır. Switch ifadesinin içindeki ifadenin yanlış olduğu ortaya çıkarsa, varsayılan ifadeler yürütülür.
  7. Düzeltmenin gerekli olduğu yerleri izlemek zahmetli olduğu için if-else ifadelerini düzenlemek zordur. Öte yandan, geçiş deyimlerini düzenlemek kolay oldukları için düzenlemek kolaydır.

Sonuç:

Switch ifadesinin düzenlenmesi kolaydır, farklı ifadeler için ayrı durumlar yaratır, oysa iç içe if-else ifadelerinde düzenlenecek ifadeleri tanımlamak zorlaşır.