Різниця між if-else та перемикачем

Автор: Laura McKinney
Дата Створення: 3 Квітень 2021
Дата Оновлення: 5 Травень 2024
Anonim
Условные предложения – три типа / Conditionals: real & unreal
Відеоролик: Условные предложения – три типа / Conditionals: real & unreal

Зміст


"If-else" і "switch" - це заяви про вибір. Виписки вибору переносять потік програми на певний блок операторів на основі того, чи є умова "істинним" чи "хибним". Принципова відмінність між операторами if-else та switch полягає в тому, що оператор if-else "вибирає виконання операторів на основі оцінки виразу в операторах if". Оператори перемикача "вибирає виконання оператора часто на основі команди клавіатури".

  1. Порівняльна діаграма
  2. Визначення
  3. Ключові відмінності
  4. Висновок

Порівняльна діаграма

Основа для порівнянняякщо щеперемикач
ОсновніЯкий оператор буде виконаний, залежить від виводу виразу всередині if.Яке твердження буде виконано, вирішує користувач.
Виразif-else оператор використовує кілька операторів для декількох варіантів.Оператор switch використовує один вираз для декількох варіантів.
Тестуванняif-else тест твердження на рівність, а також на логічне вираження.переключити тест заяви тільки на рівність.
Оцінкаякщо оператор оцінює ціле число, символ, покажчик або тип з плаваючою комою або булевий тип.оператор switch оцінює лише значення символу або ціле число.
Послідовність виконанняАбо якщо оператор буде виконаний, або інший оператор виконаний.Оператор перемикання виконує один випадок за іншим, поки не з'явиться заява про перерву або не буде досягнуто кінця оператора комутатора.
Виконання за замовчуваннямЯкщо умова всередині операторів false, тоді за замовчуванням виконується оператор else, якщо він створений.Якщо умова операторів перемикання не відповідає жодному із випадків, для цього випадку оператори за замовчуванням виконуються, якщо вони створені.
РедагуванняВажко відредагувати оператор if-else, якщо використовується вкладений оператор if-else.Редагувати випадкові комутатори легко, оскільки вони легко розпізнаються.

Визначення if-else

Заяви if-else належать до заяв про вибір у OOP. Загальна форма тверджень if-else така


if (вираз) {statement (s)} else {заява (и)}

де "якщо" та "else" - це ключові слова, а висловлювання можуть бути одним висловлюванням або блоком висловлювань. Вираз оцінюється як "вірно" для будь-якого ненульового значення, а для нуля - "хибного".
Вираз у випадку, якщо оператор може містити ціле число, символ, вказівник, плаваюча точка або може бути булевим типом. Оператор else є необов’язковим у операторі if-else. Якщо вираз повертає істинне, висловлювання всередині, якщо оператор виконується, і якщо він повертає помилкові, то оператори всередині оператора else виконуються, і, якщо оператор else не створено, жодних дій не виконується, і управління програмою вискочить заяви if if else

Давайте розберемося на прикладі.

int i = 45, j = 34; якщо (i == 45 & j == 34) {cout << "i =" <

Визначення вимикача

Оператори перемикання - оператор вибору множинного вибору. Загальна форма оператора переключення полягає в наступному

перемикач (вираз) {case Constant1: оператор (и); перерву; випадкова константа2: заява (и); перерву; константа справи3: заява (и); перерву; . . твердження (и) за замовчуванням; }

Де вираз оцінює цілі чи знакові константи. Вираз тут лише оцінює рівність. Вираз перевіряється по відношенню до констант, присутніх у твердженнях справи. Якщо буде знайдено збіг, заяви, пов'язані з цим випадком, виконуються, поки не відбудеться "розрив". Оскільки заява перерви є необов’язковою в операторах випадку, якщо тоді заява перерви відсутня, виконання не припиняється до кінця оператора перемикання.
Вираз містить лише один вираз. Оператор перемикача часто використовує команду клавіатури, щоб вибрати одну з декількох операторів регістру.

int c; cout << "оберіть значення від 1 до 3"; cin >> i; switch (i) {case 1: cout << "Ви вибираєте темний холат"; перерву; випадок 2: cout << "ви обираєте цукерки"; перерву; випадок 3: cout << "Ви вибираєте lollypop"; перерву; . . cout << "ти нічого не вибираєш"; }

Тут значення "i" визначає, який випадок потрібно виконати, якщо користувач надає значення "i", відмінне від 1, 2 або 3, тоді виконується випадок за замовчуванням.

  1. Вираження всередині, якщо оператор вирішує, чи виконувати оператори всередині блоку if блоку чи під блоком else З іншого боку, вираз всередині оператора switch вирішує, який випадок виконати.
  2. Ви можете мати декілька if, якщо заява для декількох варіантів вибору. У комутаторі у вас є лише один вираз для кількох варіантів.
  3. Оператор if-esle перевіряє рівність, а також логічне вираження. З іншого боку, перемикач перевіряє лише на рівність.
  4. Оператор if оцінює ціле число, символ, вказівник або тип з плаваючою комою або булевий тип. З іншого боку, оператор switch оцінює лише символ або цілий тип даних.
  5. Послідовність виконання - це як будь-який вислів, якщо блок буде виконуватися, або оператори під блоком else виконають. З іншого боку, вираз у операторі switch визначає, який випадок потрібно виконати, і якщо ви не застосовуєте оператор перерви після кожного випадку, він виконуватиметься до кінця оператора переключення.
  6. Якщо вираз всередині, якщо виявляється хибним, буде виконуватися оператор всередині блоку else. Якщо вираз всередині оператора switch виявляється помилковим, тоді виконується оператор за замовчуванням.
  7. Важко редагувати твердження if-else, оскільки нудно простежити, де потрібно виправити. З іншого боку, легко редагувати заяви переключення, оскільки їх легко відстежити.

Висновок:

Оператор перемикання легко редагувати, оскільки він створив окремі випадки для різних висловлювань, тоді як у вкладених операторах if-else стає важко ідентифікувати заяви, які слід редагувати.