int a,b; a=5; b=25; System.out.println(++a+"+"+b+(a++)+b); //结果是6+25625 System.out.println(++a+"+"+b+(++a)+b); //结果是6+25725 System.out.println(++a+"+"+b+++a+b); //结果是6+25626想问一下这三个有什么区别 是怎样进行先后运算的啊?
4 回答
rookie2maven
TA贡献278条经验 获得超76个赞
老生常谈了,++a,a的值即刻改变,a++是先存储在临时变量temp中,临时变量再将值赋给a。第一个++a, a=6; b=25, 字符串连接,结果256250;第二个++a两次所以a=7,结果为25725; 第三个++a,a=6,temp=(b+1),b=25,b=temp=(b+1);
最近喜欢看海贼王
TA贡献6条经验 获得超5个赞
这个其实问题就在 ++a 和 a++上了 b=++a 先+后赋值 b=a++就是先复制后+ 其实没那么多先后运算 你把这个搞清楚就行了 这问题都老掉牙了一搜一大堆
添加回答
举报
0/150
提交
取消