正在回答
当++后置的时候,会先输出,后自增,所以输出时还是2,但是执行结束之后会变成3,所以下一句打印a的时候,就是3了。
如果解决了你的疑惑,请采纳,祝学习愉快!
因为如果字母在前面是先使用数再自加一,如果只符号在前面的话就是先加在使用。
喜欢做梦的鱼
已经回复的很好了,不再多做赘述
System.out.println(a++)---------(a++)=2, a=3,所以print出来的是2
System.out.println(a)------a=3,上面说的a++,所以a=2+1=3
System.out.println(++a)----------(++a)=a+1=3+1=4, 并且a=4, 所以print出来是4
需要注意(a++)和(++a)是不一样的。 两者都会让a+1, 但是a++这个整体等于原先的a, ++a等于加上1之后的a
你可以将运算和输出理解为传值,实际上是a的值在println里面运作,而前后置“++”本身与println无关。
前置的情况(++a),是a先进行了+1,它的新值“3”才会在println里运作;
后置的情况(a++),是a的值“2”先在println里运作,然后再在外面+1;
又比如
int x=1,y=0;
y=(x++)-2;
//虽然“x++”被级别最高的小括号括起来了了,但是它在这一行中,仍然是以x本身的身份参加的运算,因为“++”后置,所以这一个式子输出等价的情况下可以写为:
y=(x)-2; x+=1;
同理如果是 y=(++x)-2;输出等价的情况下可以写为:
x+=1; y=(x)-2;
- 参与学习 人
- 提交作业 7317 份
- 解答问题 14452 个
想要入门学编程?多年一直活跃在编程语言排行版前列的Java是一个很好的选择。本路径将从Java基础语法、面向对象、常用工具类三部分,为你开启软件开发的大门!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星