Оператор Switch
Часть раздела Основы путешествия по Java на Coddy. Урок 29 из 73.
Инструкция switch похожа на многоуровневую инструкцию if. Вместо проверки одного условия она сравнивает значение переменной с несколькими вариантами и выполняет код, связанный с совпавшим вариантом.
Вот базовая структура оператора switch:
switch (variable) {
case value1:
// Код для выполнения, если variable равно value1
break;
case value2:
// Код для выполнения, если variable равно value2
break;
// ... больше случаев
default:
// Код для выполнения, если ни один case не совпадает
}- После ключевого слова
switchв скобках указывается variable, которую вы хотите проверить. - Каждый
caseпредставляет возможное значение variable. - Код внутри каждого
caseвыполняется, если variable совпадает со значением этого случая.
- Инструкция
breakимеет решающее значение: она выходит изswitchпосле выполнения case. Без неё выполнение продолжилось бы в следующем case. - Ветка
defaultнеобязательна и выполняется, если ни один другой case не matches.
Вот пример:
int day = 3;
String dayName;
switch (day) {
case 1:
dayName = "Monday";
break;
case 2:
dayName = "Tuesday";
break;
// ... cases для других дней
default:
dayName = "Invalid day";
}Вы также можете объединить несколько случаев в один:
int day = 3;
String dayName;
switch (day) {
case 1:
case 2:
case 3:
dayName = "Start of week";
break;
// ... cases для других дней
default:
dayName = "Invalid day";
}Задание
НовичокСоздай программу, которая принимает номер month (1 для января, 2 для февраля и т. д.) и выводит season, к которому он относится. Используй оператор switch для реализации логики.
Seasons и соответствующие им month:
Winter: декабрь (12), январь (1), февраль (2)Spring: март (3), апрель (4), май (5)Summer: июнь (6), июль (7), август (8)Autumn: сентябрь (9), октябрь (10), ноябрь (11)
Для любого другого номера month выведи "Invalid month".
Попробуйте сами
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int month = scanner.nextInt();
String season = "";
// Напишите ваш код ниже
System.out.println(season);
}
}В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы
4Операторы. Часть 1
Арифметические операторыОператор остатка от деленияИнкремент/декрементПостфиксный инкремент/декрементСокращённые арифметические операцииОператоры сравненияСравнение строк7Основы ввода-вывода
Методы System.outФорматирование выводаКласс ScannerПовторение — до 120Повторение — истина или ложь5Операторы. Часть 2
Логические операторы. Часть 1Логические операторы. Часть 2Повторение — простая логикаЛогические операторы. Часть 3Логические операторы. Часть 43Переменные. Часть 2
КонстантыСоглашения об именованииПовторение — инициализация переменныхПриведение типов. Часть 1Приведение типов. Часть 26Принятие решений
Оператор IfIf — ElseОператор SwitchТернарный операторПовторение: If — ElseВложенный If — Else9Циклы
Цикл for. Часть 1Цикл whileЦикл do whileBreakContinueЦикл for. Часть 2Вложенный циклБесконечный циклПовторение — динамический ввод12Итерация по массивам
Использование цикла forРасширенный цикл forРаспространённые операции с массивамиПотренируйтесь самостоятельно: Онлайн-компилятор Java