为什么在JAVA中没有大括号的另一个IF中允许使用IF块

Ali*_*lin 2 java if-statement brackets

通常在JAVA中,如果IF语句没有大括号,只有一条线在满足IF条件时执行,但是如果另一个IF块(内部IF)跟在初始IF之后,则不会触发任何错误,并且还有更多线.这怎么可能?

if (true)
if (true)
   System.out.println("true");
else
   System.out.println("false");
Run Code Online (Sandbox Code Playgroud)

Sur*_*tta 5

没有错误,因为它等于

if (true) {
    if (true) {
       System.out.println("true");
    }
    else
    {
       System.out.println("false");
    }
}
Run Code Online (Sandbox Code Playgroud)

而且语法有效.

但是请一直使用, {} 否则很难理解if块的确切位置.