为了账号安全,请及时绑定邮箱和手机立即绑定

自加自减问题

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

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

结果a:6,b:6

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

正在回答

2 回答

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

1 回复 有任何疑惑可以回复我~

(暂且先不讨论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。

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

2 回复 有任何疑惑可以回复我~
#1

幕布斯3089060 提问者

恕我愚钝,不明白,反而更加迷糊了。 我试着再次理解下哈 int a=5;//定义一个整数变量a,值为5 int b=++a;//定义一个整数变量b,值为++a; ++a就是1+5,得出6,6赋值给int b,所以打印输出 b的值是6。 而a的值为何等于6呢?是因为输出的结果,是在第二个变量计算过程中得出的值。
2018-05-20 回复 有任何疑惑可以回复我~
#2

幕布斯3089060 提问者

额。终于搞明白了。
2018-05-20 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Java入门第一季(IDEA工具)升级版
  • 参与学习       1165454    人
  • 解答问题       17585    个

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

进入课程

自加自减问题

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信