这可以应用于其他语言,但要求特定于java。在java中,块本身是一个语句吗?在java教程中:https://docs.oracle.com/javase/tutorial/java/nutsandbolts/expressions.html 一个块与一个语句分开处理,它说它是一个语句序列/语句组,但不说它是一个语句本身。有人能解释一下原因吗。
y0u0uwnf1#
见jls§14.5(见其他答案)。另外,在ecj和javac(两种最流行的java解析器/编译器)中:javac的表示块的ast节点:jcblock,表示块的ast节点,扩展了jcblock语句。ecj:块扩展 Statement .因此,规范说它是一个语句,两个主要实现都将它表示为其语句版本的子类型。
Statement
xmq68pz92#
是的,根据java语言规范中定义的语法(§14.5),a Block 是一种 Statement 尤其是 StatementWithoutTrailingSubstatement .
Block
StatementWithoutTrailingSubstatement
2条答案
按热度按时间y0u0uwnf1#
见jls§14.5(见其他答案)。另外,在ecj和javac(两种最流行的java解析器/编译器)中:
javac的表示块的ast节点:jcblock,表示块的ast节点,扩展了jcblock语句。
ecj:块扩展
Statement
.因此,规范说它是一个语句,两个主要实现都将它表示为其语句版本的子类型。
xmq68pz92#
是的,根据java语言规范中定义的语法(§14.5),a
Block
是一种Statement
尤其是StatementWithoutTrailingSubstatement
.