Найти в Дзене
Журнал «Код»

Как работает оператор множественного выбора

В предыдущей статье мы рассмотрели условный оператор. Он используется для выполнения определённого действия, если заданное условие истинно. В противном случае программа либо переходит к следующей команде, либо выполняет альтернативное действие. Этот подход удобен для проверки бинарных условий, когда есть лишь два возможных варианта: «да» или «нет». Но как поступить, если нужно обработать несколько различных значений? Например, для числа 1 выполнить одно действие, для 2 — другое, а для 3 — третье? В таких случаях на помощь приходит оператор множественного выбора. Сегодня разберёмся, как он работает. Рассмотрим простой сценарий. Программа запрашивает у пользователя число от 1 до 3 и выводит соответствующее текстовое название числа. Если использовать только условные операторы, код будет выглядеть примерно так: Этот вариант кажется приемлемым, пока количество условий невелико. Но что, если выбор увеличится до десяти или даже ста вариантов, и для каждого потребуется своё действие? Такая стр
Оглавление

В предыдущей статье мы рассмотрели условный оператор. Он используется для выполнения определённого действия, если заданное условие истинно. В противном случае программа либо переходит к следующей команде, либо выполняет альтернативное действие.

Этот подход удобен для проверки бинарных условий, когда есть лишь два возможных варианта: «да» или «нет». Но как поступить, если нужно обработать несколько различных значений? Например, для числа 1 выполнить одно действие, для 2 — другое, а для 3 — третье? В таких случаях на помощь приходит оператор множественного выбора. Сегодня разберёмся, как он работает.

Почему такой выбор сложно сделать с помощью обычного условия

Рассмотрим простой сценарий. Программа запрашивает у пользователя число от 1 до 3 и выводит соответствующее текстовое название числа.

-2

Если использовать только условные операторы, код будет выглядеть примерно так:

-3

Этот вариант кажется приемлемым, пока количество условий невелико. Но что, если выбор увеличится до десяти или даже ста вариантов, и для каждого потребуется своё действие? Такая структура быстро становится сложной и неудобной для чтения и сопровождения. Разобраться в ней будет затруднительно даже опытным программистам.

Чтобы избежать нагромождения условий, используется оператор множественного выбора.

Как устроен оператор множественного выбора

Основной принцип работы оператора множественного выбора заключается в следующем:

  1. Сначала берётся значение, которое нужно проверить. Это может быть переменная или результат функции.
  2. Оператор сравнивает это значение с заранее определёнными вариантами.
  3. Если находят совпадение, выполняется соответствующий набор команд.
  4. Проверка идёт сверху вниз: как только находится первое совпадение, выполнение переключается на связанный с ним блок команд. После выполнения поиск прекращается, и программа продолжает работать с командами, идущими после оператора.

Эту логику легко представить в виде блок-схемы, но в коде всё выглядит гораздо проще.

-4

Пример на JavaScript:

-5

В этом примере:

  • Переменная a содержит значение, которое нужно проверить.
  • В каждом case указаны варианты значений и действия для них.
  • break завершает выполнение текущего блока, чтобы программа не проверяла следующие варианты.

Можно задать любое количество блоков и команд внутри них.

Что делать, если ни один из вариантов не подошёл

Бывают ситуации, когда значение переменной не совпадает ни с одним из указанных в операторе множественного выбора. По умолчанию в таком случае программа просто продолжит выполнение следующих команд. Однако можно задать действия, которые выполнятся, если совпадения не найдено. Для этого используется блок default.

-6

Пример на JavaScript:

-7

Здесь, если a не равна ни 1, ни 2, ни 3, программа выполнит команды из блока default и выведет «неизвестное число».

Можно ли написать два одинаковых значения для выбора?

Оператор множественного выбора позволяет задать любые значения в блоках case. Однако важно учитывать, что при наличии двух одинаковых вариантов будет выполнен только первый из них. Оператор проверяет условия последовательно: программа идёт сверху вниз и выполняет команды из первого совпавшего блока, игнорируя последующие.

Пример:

-8

В данном случае второй case 1 не сработает, так как программа остановится на первом совпадении. Это поведение нужно учитывать при написании кода, чтобы избежать неочевидных ошибок.

Примеры оператора множественного выбора в разных языках программирования

Оператор множественного выбора присутствует во многих языках программирования, и хотя синтаксис может отличаться, общий принцип работы остаётся одинаковым. Рассмотрим несколько примеров.

JavaScript:

-9

Python (аналог с помощью if-elif-else):

-10

C#:

-11

Несмотря на различия в синтаксисе, везде оператор работает по схожему принципу: проверяется значение, и при совпадении выполняется соответствующий блок кода. Универсальность этой конструкции позволяет эффективно использовать её в самых разных языках программирования.

Что дальше

В следующем материале мы рассмотрим сложные условия. Они понадобятся, когда требуется проверить сразу несколько условий или их комбинации. Такие конструкции позволяют писать более гибкие программы, обрабатывающие разные сценарии одновременно.

Подпишитесь, чтобы не пропустить разбор сложных условий и их применения в коде.

Наука
7 млн интересуются