幕布斯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了?
求解答
++在前先运算再赋值,++在后先赋值在运算。
(暂且先不讨论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。
不知道我说的你能不能理解。
Java入门第一季(IDEA工具)升级版
1165172 学习 · 17581 问题
相似问题