块在java中是一个语句吗?

ifmq2ha2  于 2021-06-30  发布在  Java
关注(0)|答案(2)|浏览(219)

这可以应用于其他语言,但要求特定于java。在java中,块本身是一个语句吗?在java教程中:https://docs.oracle.com/javase/tutorial/java/nutsandbolts/expressions.html 一个块与一个语句分开处理,它说它是一个语句序列/语句组,但不说它是一个语句本身。有人能解释一下原因吗。

y0u0uwnf

y0u0uwnf1#

见jls§14.5(见其他答案)。另外,在ecj和javac(两种最流行的java解析器/编译器)中:
javac的表示块的ast节点:jcblock,表示块的ast节点,扩展了jcblock语句。
ecj:块扩展 Statement .
因此,规范说它是一个语句,两个主要实现都将它表示为其语句版本的子类型。

xmq68pz9

xmq68pz92#

是的,根据java语言规范中定义的语法(§14.5),a Block 是一种 Statement 尤其是 StatementWithoutTrailingSubstatement .

相关问题