Różnica między if-else a przełącznikiem

Autor: Laura McKinney
Data Utworzenia: 3 Kwiecień 2021
Data Aktualizacji: 5 Móc 2024
Anonim
Różnica między if-else a przełącznikiem - Technologia
Różnica między if-else a przełącznikiem - Technologia

Zawartość


„If-else” i „switch” to instrukcje wyboru. Instrukcje wyboru przenoszą przepływ programu do określonego bloku instrukcji na podstawie tego, czy warunek jest „prawdziwy”, czy „fałszywy”. Podstawową różnicą między instrukcjami if-else i switch jest to, że instrukcja if-else „wybiera wykonanie instrukcji na podstawie oceny wyrażenia w instrukcjach if”. Instrukcje switch „wybierają wykonanie instrukcji często na podstawie polecenia z klawiatury”.

  1. Wykres porównania
  2. Definicja
  3. Kluczowe różnice
  4. Wniosek

Wykres porównania

Podstawa do porównaniaJeśli inaczejprzełącznik
PodstawowyTo, która instrukcja zostanie wykonana, zależy od wyniku wyrażenia znajdującego się w instrukcji if.O tym, które polecenie zostanie wykonane, decyduje użytkownik.
WyrażenieInstrukcja if-else używa wielu instrukcji do wielu wyborów.Instrukcja switch używa pojedynczego wyrażenia do wielokrotnego wyboru.
Testowanietest instrukcji if-else dla równości, a także dla wyrażenia logicznego.test instrukcji switch tylko na równość.
Ocenainstrukcja if ocenia liczbę całkowitą, znak, wskaźnik lub typ zmiennoprzecinkowy lub typ boolowski.Instrukcja switch ocenia tylko wartość znakową lub całkowitą.
Sekwencja wykonaniaAlbo jeśli instrukcja zostanie wykonana, albo instrukcja zostanie wykonana.instrukcja switch wykonuje jedną sprawę po drugiej, aż pojawi się instrukcja break lub osiągnięty zostanie koniec instrukcji switch.
Domyślne wykonanieJeśli warunek wewnątrz instrukcji if jest fałszywy, wówczas domyślnie instrukcja else jest wykonywana, jeśli zostanie utworzona.Jeśli warunek w instrukcjach przełącznika nie pasuje do żadnego z przypadków, dla tego wystąpienia instrukcje domyślne są wykonywane, jeśli zostaną utworzone.
RedagowanieEdycja instrukcji if-else jest trudna, jeśli używana jest zagnieżdżona instrukcja if-else.Edytowanie skrzynek przełączników jest łatwe, ponieważ łatwo je rozpoznać.

Definicja if-else

Instrukcje if-else należą do instrukcji wyboru w OOP. Ogólna forma instrukcji if-else jest następująca


if (wyrażenie) {instrukcja (y)} else {instrukcja (y)}

gdzie „if” i „else” to słowa kluczowe, a instrukcje mogą być pojedynczymi instrukcjami lub blokiem instrukcji. Wyrażenie ocenia się na „prawda” dla każdej wartości niezerowej, a dla zera na „fałsz”.
Wyrażenie w instrukcji if może zawierać liczbę całkowitą, znak, wskaźnik, zmiennoprzecinkowy lub może być typu logicznego. Instrukcja else jest opcjonalna w instrukcji if-else. Jeśli wyrażenie zwraca true, instrukcje wewnątrz instrukcji if są wykonywane, a jeśli zwraca false, instrukcje wewnątrz instrukcji else są wykonywane, a jeśli instrukcja else nie jest tworzona, nie jest wykonywana żadna czynność, a kontrola programu wyskakuje instrukcji if-else.

Pozwala nam zrozumieć na przykładzie.

int i = 45, j = 34; if (i == 45 & j == 34) {cout << "i =" <

Definicja przełącznika

Instrukcje przełączania to instrukcje wyboru wielokrotnego wyboru. Ogólna forma instrukcji switch jest następująca

switch (wyrażenie) {case constant1: instrukcja (instrukcje); przerwa; case constant2: instrukcja (-y); przerwa; case constant3: instrukcja (-y); przerwa; . . domyślne oświadczenie; }

Gdzie wyrażenie ocenia liczbę całkowitą lub stałe znakowe. Wyrażenie tutaj ocenia tylko równość. Wyrażenie jest weryfikowane względem stałych obecnych w instrukcjach case. Jeśli zostanie znalezione dopasowanie, instrukcje powiązane z tą sprawą są wykonywane, dopóki nie nastąpi „przerwa”. Ponieważ instrukcja break jest opcjonalna w instrukcjach case, jeśli instrukcja break nie jest obecna, wykonanie nie kończy się do końca instrukcji switch.
Wyrażenie zawiera tylko jedno wyrażenie. Instrukcja switch często używa polecenia klawiatury, aby wybrać jedną z wielu instrukcji case.

int c; cout << „wybierz wartość od 1 do 3”; cin >> i; przełącznik (i) {przypadek 1: cout << „wybierasz ciemną czekoladę”; przerwa; przypadek 2: cout << „wybierasz cukierki”; przerwa; przypadek 3: cout << „wybierasz lollypop”; przerwa; . . domyślne cout << „nic nie wybierasz”; }

Tutaj wartość „i” decyduje, który przypadek ma zostać wykonany, jeśli użytkownik poda wartość „i” inną niż 1, 2 lub 3, wówczas wykonywana jest sprawa domyślna.

  1. Wyrażenie wewnątrz instrukcji if decyduje, czy wykonać instrukcje wewnątrz bloku if, czy w bloku else. Z drugiej strony wyrażenie w instrukcji switch decyduje, który przypadek ma zostać wykonany.
  2. Możesz mieć wiele instrukcji if dla wielokrotnego wyboru instrukcji. W przełączniku masz tylko jedno wyrażenie dla wielu opcji.
  3. Instrukcja if-esle sprawdza równość, a także wyrażenie logiczne. Z drugiej strony, przełącznik sprawdza tylko równość.
  4. Instrukcja if ocenia liczbę całkowitą, znak, wskaźnik lub typ zmiennoprzecinkowy lub typ boolowski. Z drugiej strony instrukcja switch ocenia tylko typ danych znak lub liczbę całkowitą.
  5. Kolejność wykonywania jest podobna do dowolnej instrukcji, jeśli blok zostanie wykonany, lub instrukcji w innym przypadku instrukcja bloku zostanie wykonana. Z drugiej strony wyrażenie w instrukcji switch decyduje, który przypadek ma zostać wykonany, a jeśli nie zastosujesz instrukcji break po każdym przypadku, będzie on wykonywany do końca instrukcji switch.
  6. Jeśli wyrażenie w środku okaże się fałszywe, zostanie wykonana instrukcja wewnątrz bloku else. Jeśli wyrażenie wewnątrz instrukcji switch okaże się fałszywe, wówczas wykonywane są instrukcje domyślne.
  7. Edycja instrukcji if-else jest trudna, ponieważ śledzenie, gdzie wymagana jest korekta, jest uciążliwe. Z drugiej strony łatwo jest edytować instrukcje przełączników, ponieważ można je łatwo prześledzić.

Wniosek:

Instrukcja switch jest łatwa do edycji, ponieważ stworzyła osobne przypadki dla różnych instrukcji, natomiast w zagnieżdżonych instrukcjach if-else trudno jest zidentyfikować instrukcje do edycji.