Почему этот код не дает ошибку «недоступный код»? Поскольку логическое значение может быть истинным или ложным.Почему if/else if/else для простого логического значения, не передающего ошибку «недостижимого кода»
public static void main(String args[]) {
boolean a = false;
if (a == true) {
} else if (a == false) {
} else {
int c = 0;
c = c + 1;
}
}
Смотрите вторую половину этого вопроса: http://stackoverflow.com/questions/9276378/unreachable-code-compiler-error – azurefrog
Также интересно: http://stackoverflow.com/questions/20299914/iffalse -vs-whilefalse-unreachable-code-vs-dead-code – Tom
Проверка в JLS дает ответ (как всегда): * «Оператор else доступен, если оператор if-then-else доступен." *. Поскольку оба 'if' и' else if' достижимы, это также '' инструкция 'else'. – Tom