在java中x=x++为什么等于1

如题所述

这主要考察++运算符执行的时机,此题情况下是在赋值表达式=执行之前完成。逻辑:首先,计算右边表达式的值,显然为1;然后执行++运算符,X的值变为2;然后执行=运算,右边表达式的值为1,赋给X,因此X的最终值为1。更一般地,X++中的++运算符,只要X参与过一次运算就立马执行,但一定要在赋值表达式=之前执行,比如下面的表达式:int x = 1; x = (x++ * 3) * x++; x的最终值是6。
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-13
首先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本回答被提问者采纳
第2个回答  2015-04-09
++运算符后置表明先进行等号的赋值操作,后自增1
因为先赋值自增,所以得到的值是自增前的值
如果++运算符前置,则结果就会不同
会先进行自增操作后赋值
第3个回答  2015-04-09
x++是先运算后加1
第4个回答  2015-04-09
先赋值,后++追问

先赋值不是把x赋成1了么 那再++就等于2了阿