【发布时间】:2014-07-26 19:34:14
【问题描述】:
我在 java 中尝试一元后缀和前缀运算符
这是代码
int a=10;
这行代码没有给出编译时错误
System.out.println(a+++ a +++a);
但是这条线可以
System.out.println(a++ +++a);
而这条线甚至没有
System.out.println(a+++ ++a);
我无法理解编译器如何解释这些查询的模式。
【问题讨论】:
-
出于好奇,JDK 7 和 8 下给定的编译器错误为
Invalid argument to operation ++/--。 -
我的 猜测 是
+++a被编译器感知为++,这没关系,然后又出现了另一个+,它把事情搞砸了。如果您想调查,可以尝试++(+a)或+(++a)之类的方法。
标签: java operators postfix-operator prefix-operator