这主要考察++运算符执行的时机,此题情况下是在赋值表达式=执行之前完成。逻辑:首先,计算右边表达式的值,显然为1;然后执行++运算符,X的值变为2;然后执行=运算,右边表达式的值为1,赋给X,因此X的最终值为1。更一般地,X++中的++运算符,只要X参与过一次运算就立马执行,但一定要在赋值表达式=之前执行,比如下面的表达式:int x = 1; x = (x++ * 3) * x++; x的最终值是6。
首先int x=1 x变理初始化为1
++是先取变量的值 即x = x 也就是初始化的1
所以输出为1
如再运行x 变量的话,将会变为加1后的值 2
public class Hellow {
public static void main(String[] args) {
int x=1;
int a;
a=x++;
System.out.println(a);
System.out.println(x);
}
}
这样的话,x输出就为2了,a输出为1
++运算符后置表明先进行等号的赋值操作,后自增1
因为先赋值自增,所以得到的值是自增前的值
如果++运算符前置,则结果就会不同
会先进行自增操作后赋值
x++是先运算后加1
先赋值,后++