Menu
Coddy logo textTech

Switch Statement

Часть раздела Основы путешествия по Java на Coddy — урок 29 из 73.

Оператор switch похож на многопутевой оператор if. Вместо оценки одного условия он проверяет значение переменной на соответствие нескольким случаям и выполняет код, связанный с совпадающим случаем.

Вот базовая структура оператора switch:

switch (variable) {
    case value1:
        // Code to execute if variable equals value1
        break;
    case value2:
        // Code to execute if variable equals value2
        break;
    // ... more cases
    default:
        // Code to execute if no case matches
}
  • Ключевое слово switch сопровождается переменной, которую вы хотите протестировать, в круглых скобках.
  • Каждый case представляет возможное значение переменной.
  • Код внутри каждого case выполняется, если переменная совпадает со значением этого случая.
  • Оператор break критически важен; он завершает выполнение switch после обработки соответствующего случая. Без него выполнение «протечёт» в следующий случай.
  • Случай default является необязательным и выполняется, если ни один другой случай не совпадает.

Вот пример:

int day = 3;
String dayName;

switch (day) {
    case 1:
        dayName = "Monday";
        break;
    case 2:
        dayName = "Tuesday";
        break;
    // ... cases for other days
    default:
        dayName = "Invalid day";
}

Вы также можете объединить несколько случаев в один:

int day = 3;
String dayName;

switch (day) {
    case 1:
    case 2:
    case 3:
        dayName = "Start of week";
        break;
    // ... cases for other days
    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".

Шпаргалка

Оператор switch — это условный оператор с множественным выбором, который проверяет переменную на соответствие нескольким случаям:

switch (variable) {
    case value1:
        // Code to execute if variable equals value1
        break;
    case value2:
        // Code to execute if variable equals value2
        break;
    default:
        // Code to execute if no case matches
}

Ключевые компоненты:

  • case: представляет возможное значение переменной
  • break: выходит из switch после выполнения случая (предотвращает проваливание в следующие случаи)
  • default: необязательный случай, выполняемый, если ни один другой случай не совпадает

Вы можете объединять несколько случаев:

switch (day) {
    case 1:
    case 2:
    case 3:
        dayName = "Start of week";
        break;
    default:
        dayName = "Invalid day";
}

Попробуйте сами

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Проверьте себя

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

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