+ 的 Java 语法
为什么以下语法正确:
x = y+++y;
它的意思是什么或哪个意思是(虽然不确定这一点:非常模糊)
y++ + y
y + ++y
y * 2 + 1
但此语法不正确:
x = y+++++y;
这应该意味着,这意味着
y++ + ++y
y * 2 + 2
此语法不正确是否有原因?(编辑:感谢您解释为什么它是无效的语法,但这不是我对这个问题的意图。
(编辑:当然,我不是在实际代码中使用它,纯粹是为了解析器/词法分析器;但我想知道为什么解析器不喜欢这个;最后一个示例看起来甚至比第一个示例更模糊。
(编辑:
int i = 0;
int j = (i = 3)+++i;
也是无效的,虽然它对我来说似乎非常明确,是一个值,因此(值值)然后是值标记。(i = 3)
+
++i