Java Switch

Оновлено: 22.05.2023

Оператори перемикачів Java

Замість того, щоб писати багато інструкцій if..else, ви можете використовувати інструкцію switch.

Оператор switch вибирає один з багатьох блоків коду для виконання:

switch(expression) {
  case x:
    // code block
    break;
  case y:
    // code block
    break;
  default:
    // code block
}

Ось як це працює:

Вираз switch обчислюється один раз. Значення виразу порівнюється зі значеннями кожного випадку. Якщо є збіг, виконується відповідний блок коду. Ключові слова break і default є необов'язковими і будуть описані пізніше у цій главі

У наведеному нижче прикладі для обчислення назви дня тижня використовується номер дня тижня:

int day = 4;
switch (day) {
  case 1:
    System.out.println("Monday");
    break;
  case 2:
    System.out.println("Tuesday");
    break;
  case 3:
    System.out.println("Wednesday");
    break;
  case 4:
    System.out.println("Thursday");
    break;
  case 5:
    System.out.println("Friday");
    break;
  case 6:
    System.out.println("Saturday");
    break;
  case 7:
    System.out.println("Sunday");
    break;
}
// Outputs "Thursday" (day 4)

Ключове слово розриву

Коли Java досягає ключового слова break, вона виходить з блоку switch.

Це зупинить виконання більшої кількості коду та тестування варіантів всередині блоку.

Коли збіг знайдено, і роботу виконано, настає час для перерви. Немає потреби в додатковому тестуванні.

Розрив може заощадити багато часу виконання, оскільки він "ігнорує" виконання решти коду у блоці switch.

Ключове слово за замовчуванням

Ключове слово за замовчуванням задає деякий код, який виконується, якщо регістр не збігається:

int day = 4;
switch (day) {
  case 6:
    System.out.println("Today is Saturday");
    break;
  case 7:
    System.out.println("Today is Sunday");
    break;
  default:
    System.out.println("Looking forward to the Weekend");
}
// Outputs "Looking forward to the Weekend"
Зверніть увагу, що якщо оператор за замовчуванням використовується як останній оператор у блоці switch, він не потребує розриву.