Ошибка недостижимого оператора при использовании цикла while в Java [duplicate]
Возможный дубликат:
Почему этот код дает «Недостижимое заявление » ошибка?
Это кажется очень простым вопросом, я нашел этот вопрос в одной книге. Если кто-нибудь поможет мне понять, почему яЯ получаю ошибку.
do {
System.out.print("inside do");
} while (false);
while (false) { // error
System.out.print("inside while");
}
System.out.print("outside");
Я думал, и, по мне, выход должен бытьвнутри снаружи, Но это показываетОшибка компилятора: недостижимая инструкция, Затем я попытался выяснить, почему, это показываетОшибка компиляции: недостижимое утверждение * , Итак, я изменяю приведенный выше код, как это
boolean i = false;
do {
System.out.print("inside do");
} while (false);
while (i) { // ok
System.out.print("inside while");
}
System.out.print("outside");
Теперь он показывает ожидаемый результат, т.е.внутри снаружи , Итак, мой вопрос - что имеет значение в первом и втором случае? Кроме того, когда я проверяю
if(false){
//something here
}
Затем приведенный выше код выполняется без ошибок.