int a = 3;
int x = 0;
x = a++;
x = a++;
x = a++;
System.out.println("x = "+x);
x = x++;//x=5
x = x++;
x = x++;
System.out.println("x = "+x);
1.表达式:变量和运算符连接而成的式子如:a+b,a++,a--
2.x = a++;(里面有两个运算符++和=,但是++的优先级要高于=)
(1)是将(a++)表达式的值赋值给变量x,而不是将a的值赋值给变量x,所以我们要先计算a++表达式的值,由于++符号在a的后面,所以先使用a的值,
作为表达式的值,所以a++表达式的值是3
(2)进行++运算,a=a+1,a变成4,但是不管a的值变为了多少,都不会影响第(1)步中的表达式a++的值(3)
(3)进行赋值运算,将a++表达式的值(第一步已经算出来了3)赋值给x,x变为3 |
|