Ошибка недостижимого оператора при использовании цикла 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
   }

Затем приведенный выше код выполняется без ошибок.

Ответы на вопрос(2)

Ваш ответ на вопрос