Разница между if-else и switch

Автор: Laura McKinney
Дата создания: 3 Апрель 2021
Дата обновления: 5 Май 2024
Anonim
JavaScript v.2.0. Ветвление If, else, switch
Видео: JavaScript v.2.0. Ветвление If, else, switch

Содержание


«If-else» и «switch» - это операторы выбора. Операторы выбора переносят поток программы в конкретный блок операторов в зависимости от того, является ли условие «истинным» или «ложным». Принципиальное различие между операторами if-else и switch состоит в том, что оператор if-else «выбирает выполнение операторов на основе оценки выражения в операторах if». Оператор switch «выбирает выполнение оператора часто на основе клавиатуры».

  1. Сравнительная таблица
  2. Определение
  3. Ключевые отличия
  4. Заключение

Сравнительная таблица

Основа для сравненияесли ещепереключатель
основнойКакой оператор будет выполняться, зависит от вывода выражения внутри оператора if.Какой оператор будет выполняться, решает пользователь.
выражениеОператор if-else использует несколько операторов для множественного выбора.Инструкция switch использует одно выражение для множественного выбора.
тестированиеПроверка оператора if-else как на равенство, так и на логическое выражение.Переключатель операторов проверяется только на равенство.
оценкаОператор if оценивает целочисленный, символьный, указатель или тип с плавающей точкой или логический тип.оператор switch оценивает только символ или целочисленное значение.
Последовательность исполненияЛибо, если оператор будет выполнен или оператор выполняется.оператор switch выполняет один случай за другим, пока не появится оператор break или не будет достигнут конец оператора switch.
Выполнение по умолчаниюЕсли условие внутри операторов if ложно, то по умолчанию выполняется оператор else, если он создан.Если условие внутри операторов switch не совпадает ни с одним из случаев, для этого экземпляра выполняются операторы по умолчанию, если они созданы.
РедактированиеСложно редактировать оператор if-else, если используется вложенный оператор if-else.Случаи переключения легко редактировать, так как они легко распознаются.

Определение if-else

Операторы if-else принадлежат операторам выбора в ООП. Общая форма операторов if-else следующая


if (expression) {оператор (ы)} else {оператор (ы)}

где «if» и «else» являются ключевыми словами, а операторы могут быть одним оператором или блоком операторов. Выражение оценивается как «истина» для любого ненулевого значения, а для нуля оно оценивается как «ложь».
Выражение в операторе if может содержать целое число, символ, указатель, с плавающей точкой или логический тип. Оператор else является необязательным в операторе if-else. Если выражение возвращает true, операторы внутри оператора if выполняются, и если оно возвращает false, выполняются операторы внутри оператора else, а в случае, если оператор else не создан, никакие действия не выполняются, и управление программой выпадает. оператора if-else.

Давайте разберемся с примером.

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

Определение переключателя

Оператор switch является оператором множественного выбора. Общая форма оператора switch следующая

switch (выражение) {case constant1: оператор (ы); сломать; case constant2: оператор (ы); сломать; case constant3: оператор (ы); сломать; , , оператор (ы) по умолчанию; }

Где выражение оценивает целочисленные или символьные константы. Выражение здесь оценивает только на равенство. Выражение сверяется с константами, присутствующими в операторах case. Если совпадение найдено, операторы, связанные с этим случаем, выполняются до тех пор, пока не произойдет «разрыв». Так как оператор break является необязательным в операторах case, если оператор break не присутствует, выполнение не останавливается до конца оператора switch.
Выражение содержит только одно выражение. Оператор switch часто использует команду клавиатуры для выбора одного из нескольких операторов case.

int c; cout << «выберите значение от 1 до 3»; CIN >> я; switch (i) {case 1: cout << «Вы выбираете темный шоколад»; сломать; case 2: cout << «выбираешь конфету»; сломать; case 3: cout << «Вы выбираете леденец на палочке»; сломать; , , cout по умолчанию << «Вы ничего не выбираете»; }

Здесь значение «i» будет определять, какой регистр должен быть выполнен, если пользователь задает значение «i», отличное от 1, 2 или 3, тогда выполняется регистр по умолчанию.

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

Заключение:

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