Java:标签后允许的语句
我正在玩Java语法,所以这个问题纯粹是出于好奇。这段代码:
http://www.google.com
Object val = 5 <- 4;
不编译,因为标签 () “后面必须跟一个语句”。编译以下两个变体:http
http://www.google.com
{ Object val = 5 <- 4; }
和
Object val;
http://www.google.com
val = 5 <- 4;
在这两种情况下,我都从声明切换到表达式。这让我想知道Java中的“语句”到底是什么,但文档指出:
除了表达式语句之外,还有另外两种类型的语句:声明语句和控制流语句。声明语句声明变量。
JLS只是说(在标签上)
标识符被声明为立即包含的语句的标签。
它没有说任何关于“表达式语句”的内容。
我是否错过了什么,或者这只是一个不清楚/不正确的规范?