Rueroo
2015-05-26 16:09
int a=5; int b=a++; System.out.println(a); System.out.println(b); 运行结果里b可以理解,为什么a=6呢?
楼上说的意思是对的,但是写错了
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;
a++是先执行表达式后再自增,执行表达式时使用的是a的原值。
++a是先自增再执行表达示,执行表达式时使用的是自增后的a。
所以int b=a++; 运行结果a=5;(还是原值)
int b=++a; 运行结果a=6;(自增后的值,原值已改变)
Java入门第一季(IDEA工具)升级版
1165172 学习 · 17581 问题
相似问题