我从 Java 的官方教程中读到前缀和后缀 ++ -- 具有不同的优先级:
后缀:expr++ expr--
一元: ++expr --expr +expr -expr ~ !
根据教程,这不应该
d = 1; System.out.println(d++ + ++d);
打印出 6(d++
使 d 为 2,++d
使其为 3)而不是 4?
我知道++d
事先被评估的解释,但是如果d++
优先级更高++d
,为什么不d++
首先被评估?更重要的是,在什么情况下应该d++
表明它具有更高的优先级?
编辑:
我尝试了以下方法:
d = 1; System.out.println(++d * d++);
它返回 4。似乎应该是 2*2,而不是 1*3。