Menu
Coddy logo textTech

Оператор 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";
}
challenge icon

Задание

Новичок

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

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

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

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