Сравнителна таблица
Основа за сравнение | ако-друго | ключ |
---|---|---|
Основен | Кое изречение ще бъде изпълнено зависи от изхода на израза вътре, ако операторът. | Кое изявление ще бъде изпълнено се определя от потребителя. |
изразяване | if-else операторът използва множество изявления за множество избори. | switch изразът използва един израз за множество избори. |
Тестване | if-else тест за равенство, както и за логически израз. | Проверка на оператора на превключвател само за равенство. |
оценка | if изразът оценява цяло число, символ, указател или тип с плаваща запетая или булев тип. | switch изчислява само знака или цяло число. |
Последователност на изпълнение | Или ако се изпълни оператор, или се изпълни оператор. | Превключвателната операция изпълнява един случай след друг, докато се появи прекъсващо изявление или се достигне крайът на превключвателя. |
Изпълнение по подразбиране | Ако условието вътре, ако изразите са неверни, тогава по подразбиране операторът else се изпълнява, ако е създаден. | Ако условието в превключвателните изрази не съвпада с никое от случаите, за този случай се изпълняват операторите по подразбиране, ако са създадени. |
Редактиране | Трудно е да се редактира операторът if-else, ако се използва вложеното if-else оператор. | Лесно е да се редактират случаи на превключване, тъй като те се разпознават лесно. |
Определение на if-else
Операторите if-else принадлежат на избора за избор в ООП. Общата форма на изявленията if-else е следната
if (израз) {оператор (и)} else {оператор (и)}
където „if“ и „else“ са ключовите думи, а отчетите могат да бъдат единичен оператор или блок от изявления. Изразът се оценява като "истина" за всяка ненулева стойност и за нула се оценява като "невярна".
Изразът в оператор if може да съдържа цяло число, символ, указател, с плаваща запетая или може да бъде булев тип. Операторът else е опционален в оператор if-else. Ако изразът върне вярно, операторите вътре, ако операторът се изпълни и ако се върне фалшиво, се изпълняват операторите вътре else, а в случай, че израза else не е създаден, не се изпълнява действие и контролът на програмата изскача навън на изявление if-else.
Нека разберем с пример.
int i = 45, j = 34; if (i == 45 & j == 34) {cout << "Аз избирам тъмния choclate"; прекъсване; случай 2: cout << "изберете бонбони"; прекъсване; случай 3: cout << "изберете lollypop"; прекъсване;, , default cout << "избирате нищо"; }
Тук стойността на "i" ще реши кой случай да бъде изпълнен, ако потребителят даде стойността на "i", различна от 1, 2 или 3, тогава се изпълнява делото по подразбиране.
Ключови разлики между if-else и switch
- Expression вътре, ако операторът реши дали да изпълни операторите вътре в блока или под else блока. От друга страна, изразът в декларацията на switch решава кой случай да се изпълни.
- Можете да имате няколко оператора if за множествен избор на отчети. При превключвателя имате само един израз за многократния избор.
- Изразът if-esle проверява за равенство, както и за логически израз. От друга страна, превключвайте проверките само за равенство.
- Операторът if оценява цяло число, характер, указател или тип с плаваща запетая или булев тип. От друга страна, switch операторът оценява само характер или цяло число.
- Последователността на изпълнение е като изявление под, ако блокът ще се изпълни или изявленията в друг блок оператор ще се изпълни. От друга страна изразът в израза switch решава кой случай да се изпълни и ако не приложите break оператор след всеки случай, той ще се изпълни до края на switch оператора.
- Ако изразът вътре, ако се окаже, че е невярно, ще бъде изпълнено изявление вътре в друг блок. Ако изразът в декларацията на превключвателя се окаже невярна, тогава се изпълняват стандартните оператори.
- Трудно е да се редактират изречения if-else, тъй като е досадно да се проследява къде е необходима корекцията. От друга страна е лесно да се редактират превключвателните изявления, тъй като те са лесни за проследяване.
Заключение:
Командата switch е лесна за редактиране, тъй като е създала отделни случаи за различни оператори, докато в вложени в if-else изрази става трудно да се идентифицират изявленията, които да се редактират.