Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗jvPmCdSw 121 of 420 menu
◀ ▶

Конструкция switch в Java

В Java есть специальная конструкция switch, которая используется для выбора одного значения из некоторого ряда значений. В круглых скобках пишут переменную, в ветках case - значения, а break заканчивает выбранную ветку.

Как вы можете заметить, switch представляет собой альтернативу множеству else if. Переключатель работает и с числом, и со строкой. Давайте посмотрим на примере. Пусть у нас есть вот такой код:

int num = 1; if (num == 1) { System.out.println("value1"); } else if (num == 2) { System.out.println("value2"); } else if (num == 3) { System.out.println("value3"); } else { System.out.println("incorrect value"); }

Перепишем этот код через конструкцию switch:

int num = 1; switch (num) { case 1: System.out.println("value1"); // сработает это break; case 2: System.out.println("value2"); break; case 3: System.out.println("value3"); break; default: System.out.println("incorrect value"); break; }

Блок default является необязательным. Если значение не совпало ни с одной веткой и блока default нет, ничего не произойдет.

Команда break в обычном switch тоже формально необязательна. Без нее выполнение не останавливается на выбранной ветке и идет дальше, в следующие case. Пусть в переменной число 2:

int num = 2; switch (num) { case 1: System.out.println(1); case 2: System.out.println(2); // сработает это case 3: System.out.println(3); // и это тоже }

Сначала выполняется case 2, а затем неожиданно и case 3, потому что break не написан. Поэтому в обычном switch после ветки ставят break.

Перепишите следующий код, выбрав подходящую конструкцию:

String lang = "ru"; if (lang.equals("ru")) { System.out.println("rus"); } else if (lang.equals("en")) { System.out.println("eng"); } else if (lang.equals("de")) { System.out.println("deu"); } else { System.out.println("language not supported"); }

Дан код:

int port = 443;

Для 80 выведите "http", для 443 - "https", для 21 - "ftp", иначе "custom port".

Переменная num может принимать значения 1, 2, 3 или 4. Определите, в какую пору года попадает значение этой переменной.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить