Menu
Coddy logo textTech

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";
}
challenge icon

Задание

Новичок

Напишите программу, которая принимает номер месяца (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);
    }
}
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Основы

Потренируйтесь самостоятельно: Онлайн-компилятор Java