语法话题
本期的话题如下:
i+++j应该如何计算?
关于该表达式,在类似于C / C++中讨论是没有多大意义的,因为C / C++依赖于实现的硬件结构,不同的环境结果也会不同。不过在Java中,这个结果是固定的,不受其运行的硬件环境与平台所影响。
语法分析
我们可以将表达式解析成两种可能的形式:
- i + (++j)
- (i++) + j
以上的括号不是必须的,这里仅为了清晰起见(后面也是如此)。
我们可以通过程序来测试。
package test;
public class Test {
public static void main(String[] args) {
int i = 10;
int j = 20;
int k = i+++j;
System.out.println("i=" + i);
System.out.