问答详情
源自:3-2 Java中的算术运算符

自加自减问题

int a=5;
int b=++a;

System.out.println("a":+a);
System.out.println("b":+b);

结果a:6,b:6

怎么得来的???
a不是等于5吗?怎么输出后成6了?
求解答

提问者:幕布斯3089060 2018-05-20 19:51

个回答

  • 王三两0
    2018-06-09 14:51:34

    ++在前先运算再赋值,++在后先赋值在运算。

  • 呵了个
    2018-05-20 20:10:12

    (暂且先不讨论a++和++a的区别问题)你应该知道a++是什么意思。实际上a++的意思是a=a+1;所以说在第二行之中 int b = ++a;我们为b赋值了(++a)的结果。就是6。同时也让a的值从5变成了6;

    实际上。如果你在第二行写成 int b = a++;那么输出的结果,应该是 a:6 b:5。

    其实简单的理解 int b = a++;和 int b = ++a;可以认为第一种是先将a=5这个值赋值给b。然后在做a++的自增运算。而第二种是先做完a的自增运算在将自增完成的结果值6赋值给b。

    不知道我说的你能不能理解。