为什么 没有显示任何例外?

Shi*_*rty 3 java

当我使用eclipse ID时,我突然发现我在变量声明中加了双分号.

以下是我的发言

double defaultValue = 0.0;;
Run Code Online (Sandbox Code Playgroud)

我在这里感到困惑.我期望上面的语句抛出一个异常,但我错误的上面的语句运行没有任何错误.

为什么双分号没有显示任何错误?

Jon*_*eet 5

这是一个空洞的陈述,就是这样.它完全合法,但通常没用.它在JLS的第14.6节中规定:

空语句什么都不做.

  EmptyStatement :
      ;

执行空语句总是正常完成.

几乎我唯一一次真正看到它使用的是给一个空体,例如

while (somethingWithSideEffects()) 
    ;
Run Code Online (Sandbox Code Playgroud)

就个人而言,我更喜欢在这种情况下使用大括号(或者将代码更改为不以这种方式使用副作用),但这是个人偏好的问题.