自加自减问题

来源:3-2 Java中的算术运算符

幕布斯3089060

2018-05-20 19:51

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

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

结果a:6,b:6

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

写回答 关注

2回答

  • 王三两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。

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

    幕布斯308...

    额。终于搞明白了。

    2018-05-20 22:42:33

    共 2 条回复 >

Java入门第一季(IDEA工具)升级版

0基础萌新入门第一课,从Java环境搭建、工具使用、基础语法开始

1165172 学习 · 17581 问题

查看课程

相似问题