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

why a=5,b=a++

int a=5; int b=a++; System.out.println(a); System.out.println(b); 运行结果里b可以理解,为什么a=6呢?

正在回答

3 回答

楼上说的意思是对的,但是写错了

int a=5; int b=a++; 这个情况,a++先赋值给b,此时b为5,然后再执行自加,输出b=5,a=6;

int a=5; int b=++a; 这个情况,++a先自加,此时a为6,然后再赋值给b,输出b=6,a=6;

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

a++是先执行表达式后再自增,执行表达式时使用的是a的原值。
++a是先自增再执行表达示,执行表达式时使用的是自增后的a。

所以int b=a++; 运行结果a=5;(还是原值)

int b=++a; 运行结果a=6;(自增后的值,原值已改变)

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

举报

0/150
提交
取消

why a=5,b=a++

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