Switch Statement
Часть раздела Основы путешествия по Java на Coddy. Урок 29 из 73.
Инструкция switch похожа на многопутевую инструкцию if. Вместо вычисления одного условия она проверяет значение переменной на соответствие нескольким случаям и выполняет код, связанный с совпадающим случаем.
Вот базовая структура оператора switch:
switch (variable) {
case value1:
// Код для выполнения, если variable равно value1
break;
case value2:
// Код для выполнения, если variable равно value2
break;
// ... больше случаев
default:
// Код для выполнения, если ни один case не совпадает
}- За ключевым словом
switchв скобках следует переменная, которую вы хотите проверить. - Каждый
caseпредставляет возможное значение переменной. - Код внутри каждого
caseвыполняется, если переменная совпадает со значением этогоcase.
- Инструкция
breakкрайне важна; она выходит изswitchпосле выполнения case. Без неё выполнение «провалится» к следующему case. - Случай
defaultявляется необязательным и выполняется, если ни один другой case не совпал.
Вот пример:
int day = 3;
String dayName;
switch (day) {
case 1:
dayName = "Monday";
break;
case 2:
dayName = "Tuesday";
break;
// ... cases для других дней
default:
dayName = "Invalid day";
}Вы также можете объединить несколько case в один:
int day = 3;
String dayName;
switch (day) {
case 1:
case 2:
case 3:
dayName = "Start of week";
break;
// ... cases для других дней
default:
dayName = "Invalid day";
}Задание
НовичокНапишите программу, которая принимает номер месяца (1 для января, 2 для февраля и т. д.) и выводит время года, к которому он относится. Используйте оператор switch для реализации логики.
Времена года и соответствующие им месяцы:
Winter: декабрь (12), январь (1), февраль (2)Spring: март (3), апрель (4), май (5)Summer: июнь (6), июль (7), август (8)Autumn: сентябрь (9), октябрь (10), ноябрь (11)
Для любого другого номера месяца выведите "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);
}
}В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы
4Operators Part 1
Arithmetic OperatorsModulo OperatorIncrement/DecrementPost Increment/DecrementArithmetic ShortcutsComparison OperatorsString Comparison5Operators Part 2
Logical Operators Part 1Logical Operators Part 2Recap - Simple LogicLogical Operators Part 3Logical Operators Part 43Variables Part 2
ConstantsNaming ConventionsRecap - Initialize VariablesType Casting Part 1Type Casting Part 26Decision Making
If StatementIf - ElseSwitch StatementTernary OperatorRecap - If ElseNested If - ElseПотренируйтесь самостоятельно: Онлайн-компилятор Java