РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
6 of 1163 menu

Страж when

Страж when - это ключевое слово, которое используется в операторе switch для добавления дополнительного логического условия к метке case. Если основное значение совпало с меткой, но условие стража не выполнено, управление переходит к следующей подходящей ветке. В качестве параметра страж принимает логическое выражение, которое может использовать переменные из области видимости.

Синтаксис

switch (value) { case pattern when condition: // code }

Пример

Давайте проверим число: если оно больше 0, выведем сообщение о положительном значении, иначе - о неположительном:

public class Main { public static void main(String[] args) { int value = 5; switch (value) { case Integer i when i > 0: System.out.println("positive"); break; default: System.out.println("not positive"); } } }

Результат выполнения кода:

"positive"

Пример

Давайте обработаем строку: если она начинается с "a", выведем одно сообщение, иначе - другое:

public class Main { public static void main(String[] args) { Object obj = "abcde"; switch (obj) { case String s when s.startsWith("a"): System.out.println("starts with a"); break; case String s: System.out.println("other string"); break; default: System.out.println("not a string"); } } }

Результат выполнения кода:

"starts with a"

Смотрите также

  • оператор switch,
    который выбирает ветку выполнения
  • ключевое слово case,
    которое задает метку в операторе switch
  • ключевое слово default,
    которое задает ветку по умолчанию
  • оператор instanceof,
    который проверяет тип объекта
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить