首页 > Java ++ 的疑惑

Java ++ 的疑惑

摘自:http://hi.baidu.com/list263/item/649a1686e4f1ebebe596e073

例子1:
int a= 1;
a = a++;
System.out.println(a); // 等于1

例子2:
int a=5;
int m=(a++)+(a++);
System.out.println(a + ", " + m); // 等于7, 11

为什么?


要详细解答这个问题,可以看《Java语言规范》或者《深入Java虚拟机》。

我来个简单点儿的吧:

int m=(a++)+(a++);
       |      |
       ①  +  ②
       |      |
       └─────┘
          |
          m

由于括号的存在,在这个表达式中,我们需要计算 m = ① + ② 的值。(这个就不解释了,括号的优先级最高)

【热门文章】
【热门文章】