Рекомендуємо, 2024

Вибір Редакції

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

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

Діаграма порівняння

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

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

Операції if-else належать до операцій вибору в ООП. Загальний вигляд тверджень if-else є наступним

 if (expression) {statement (s)} else {оператор (и)} 

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

Дозволяє нам зрозуміти з прикладом.

 int i = 45, j = 34; якщо (i == 45 & j == 34) {cout << "i jyou вибрати темний choclate"; перерву; case 2: cout << "ви вибираєте цукерки"; перерву; case 3: cout << "ви вибираєте lollypop"; перерву; . . default cout << "ви нічого не вибираєте"; } 

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

Ключові відмінності між if-else та комутатором

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

Висновок:

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

Top