模糊条件Java语法

Pat*_*ira 5 java syntax if-statement conditional-operator

我们刚刚找到了一位同事和我,使用If条件语法编写了一个奇怪的编译语法:

if (true); {
  foo();
}
Run Code Online (Sandbox Code Playgroud)

这里有人向我们解释这种奇怪的语法吗?谢谢.

Kev*_*vin 8

对我来说,它看起来像一个带有空体的if语句,后跟一个始终执行的代码块(与if语句无关).例如,foo也在这里执行:

if (false); {
    foo();
}
Run Code Online (Sandbox Code Playgroud)


Bil*_*ard 6

第一部分,if (true);只是一个无条件的条件,结束于;.其余的是对foo()新范围块的调用.你会发现它foo()总是被调用.