Назад к вопросам
JuniorТеорияЧасто
Что произойдёт при компиляции и запуске программы?
public class Main {
public static void main(String[] args) {
int n = 3;
String s = switch (n) {
case 1 -> "one";
case 2 -> "two";
};
System.out.println(s);
}
}Не скомпилируется
- Ждать
nullили пустую строку: switch-выражение обязано покрыть все возможные значенияn, и безdefaultкомпилятор его отвергает. - Ждать ошибку при запуске: компилятор проверяет покрытие до запуска, какое бы значение ни лежало в
n.
- Как
yieldотдаёт значение из ветки-блока switch-выражения? - Почему switch-выражению по
enumне нуженdefault, если перечислены все константы?