Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Оператори Switch у Java | Оператори та умовні конструкції
Вступ до Java

Оператори Switch у Java

Свайпніть щоб показати меню

До цього моменту основними інструментами для обробки різних ситуацій були if, else та else if. Вони чудово підходять для перевірки умов, діапазонів або порівнянь.

Але іноді нам не потрібно порівнювати діапазони — потрібно лише перевірити одну змінну на відповідність кільком точним значенням. Наприклад:

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

У таких випадках корисними стають оператори switch — вони дозволяють порівнювати одне значення з кількома точними відповідниками у більш чистий та організований спосіб.

Структура

switch (variable) {
    case "value1" -> {
        // code
    }

    case "value2" -> {
        // code
    }

    default -> {
        // fallback code
    }
}

Java перевіряє кожен case по черзі, доки не знайде відповідність.

Приклад

Main.java

Main.java

1234567891011121314151617181920212223242526
package com.example; public class Main { public static void main(String[] args) { String pickupType = "delivery"; switch (pickupType) { case "pickup": System.out.println("Your coffee will be ready at the counter"); break; case "delivery": System.out.println("Your coffee is on the way"); break; case "dine-in": System.out.println("Enjoy your coffee inside the cafe"); break; default: System.out.println("Unknown order type"); break; } } }

Java перевіряє pickupType по черзі — "pickup" не співпадає, "delivery" співпадає, тому виводиться повідомлення "Your coffee is on the way", і break одразу зупиняє виконання switch. Блок default внизу діє як фінальний else — він виконується лише тоді, коли жоден з варіантів не співпав.

Java 14+ — новий синтаксис switch

У Java 14 і новіших версіях з'явився новий синтаксис із використанням стрілки ->:

switch (pickupType) {
    case "pickup" -> System.out.println("Your coffee will be ready at the counter");
    case "delivery" -> System.out.println("Your coffee is on the way");
    case "dine-in" -> System.out.println("Enjoy your coffee inside the cafe");
    default -> System.out.println("Unknown order type");
}

Що змінилося:

  • не потрібен break;
  • використовується -> замість :;
  • кожен case автоматично ізольований — немає ризику "провалювання" до наступного case;
  • більш чистий і зрозумілий код.

Обидві версії працюють однаково — новий синтаксис просто сучасніший і безпечніший.

Корисне правило для запам'ятовування:

  • Використовуйте if / else if для порівнянь і діапазонів;
  • Використовуйте switch для перевірки одного значення на багато точних варіантів.
question mark

Яке призначення оператора break всередині switch?

Виберіть правильну відповідь

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 3. Розділ 6

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

Оператори Switch у Java

До цього моменту основними інструментами для обробки різних ситуацій були if, else та else if. Вони чудово підходять для перевірки умов, діапазонів або порівнянь.

Але іноді нам не потрібно порівнювати діапазони — потрібно лише перевірити одну змінну на відповідність кільком точним значенням. Наприклад:

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

У таких випадках корисними стають оператори switch — вони дозволяють порівнювати одне значення з кількома точними відповідниками у більш чистий та організований спосіб.

Структура

switch (variable) {
    case "value1" -> {
        // code
    }

    case "value2" -> {
        // code
    }

    default -> {
        // fallback code
    }
}

Java перевіряє кожен case по черзі, доки не знайде відповідність.

Приклад

Main.java

Main.java

1234567891011121314151617181920212223242526
package com.example; public class Main { public static void main(String[] args) { String pickupType = "delivery"; switch (pickupType) { case "pickup": System.out.println("Your coffee will be ready at the counter"); break; case "delivery": System.out.println("Your coffee is on the way"); break; case "dine-in": System.out.println("Enjoy your coffee inside the cafe"); break; default: System.out.println("Unknown order type"); break; } } }

Java перевіряє pickupType по черзі — "pickup" не співпадає, "delivery" співпадає, тому виводиться повідомлення "Your coffee is on the way", і break одразу зупиняє виконання switch. Блок default внизу діє як фінальний else — він виконується лише тоді, коли жоден з варіантів не співпав.

Java 14+ — новий синтаксис switch

У Java 14 і новіших версіях з'явився новий синтаксис із використанням стрілки ->:

switch (pickupType) {
    case "pickup" -> System.out.println("Your coffee will be ready at the counter");
    case "delivery" -> System.out.println("Your coffee is on the way");
    case "dine-in" -> System.out.println("Enjoy your coffee inside the cafe");
    default -> System.out.println("Unknown order type");
}

Що змінилося:

  • не потрібен break;
  • використовується -> замість :;
  • кожен case автоматично ізольований — немає ризику "провалювання" до наступного case;
  • більш чистий і зрозумілий код.

Обидві версії працюють однаково — новий синтаксис просто сучасніший і безпечніший.

Корисне правило для запам'ятовування:

  • Використовуйте if / else if для порівнянь і діапазонів;
  • Використовуйте switch для перевірки одного значення на багато точних варіантів.
Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 3. Розділ 6
some-alt