Пропуски Middle Современная Java: record, sealed обновлено

switch-выражение с yield

Вопрос

Допишите switch-выражение.

int days = switch (month) {
    case FEBRUARY -> leap ? 29 : 28;
    case APRIL, JUNE, SEPTEMBER, NOVEMBER -> 30;
    __(1)__ -> {
        log(month);
        __(2)__ 31;
    }
};

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

Заполните пропуски по номерам.

1
2
Показать ответ и разбор

Коротко

В switch-выражении все варианты должны быть покрыты, для enum без перечисления всех констант нужен default. Из блока в фигурных скобках значение возвращается через yield, а не return.

Что в пропусках

1

default

2

yield

Разбор

В switch-выражении все варианты должны быть покрыты, для enum без перечисления всех констант нужен default. Из блока в фигурных скобках значение возвращается через yield, а не return.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.

Термины по теме