То, что уборщик сказал вам в комментарии, верно. Кажется, у вас неправильное представление о синтаксисе. Возьмите следующий фрагмент кода, который вы дали в качестве примера.
if (false) {
System.out.print("hello");
}
Код внутри блока if будет никогда не выполняться, потому что выражение false
всегда будет принимать значение логического значения false. Вы просите Java выполнить следующее: «эй, запустите этот код , если то, что я положил в квадратные скобки, будет иметь значение true, но то, что вы поместите в квадратные скобки, будет всегда иметь значение false. Вот почему Java всегда будет запускать код внутри блока else в вашем примере.
Надеюсь, это немного прояснит ситуацию.