Конструкция переключателя switch-case
имеет несколько (две или более) ветвей. Переключатель выполняет одну заданную ветвь в зависимости от значения вычисляемого ключевого выражения. Принципиальным отличием этой конструкции от условного оператора является то, что выражение, определяющее выбор исполняемой ветви, допускает использование не логических значений.
В каждом операторе case
указывается постоянное значение. Выполняется тело того оператора case
, постоянное значение которого, соответствует значению выражения селектора оператора switch
.
Сама конструкция имеет следующий вид:
Правило: тип выражения-селектора должен совпадать с типом постоянных выражений, или тип постоянного выражения должен иметь возможность неявно преобразовываться в тип выражения-селектора.
Правило: каждый блок case
в котором содержатся выполняемые операторы, должен завершаться оператором перехода break или goto case
, return
или throw
.
Правило: постоянное значение блоков case могут содержать в себе только одно значения, попытка указания диапазона значений недопустима. Если нужно указывать диапазоны значений, то используйте каскад if-else
.
Примечание: использование операторных скобок в блоках case необязательно.
Источник: видеоурок Александра Шевчука"ВИДЕОУРОК №4. УСЛОВНЫЕ КОНСТРУКЦИИ"