++a与a++我一直都比较迷惑这个运算,我们先来看代码
int a=3;
int b=a++;
System.out.println(a);//输出a为4
int c=++a;
System.out.println(a);//输出a为5
System.out.println(b);//输出b为3
System.out.println(c);//输出c为5
看到这我们肯定会疑惑,为什么b是3,而c是5,a也是5;
首先我们要解释一下++这个符号的意思,++的意思是自增,也就是说a++就等于a=a+1。这样我们就能理解最后的a为5了,因为经过了2次自增运算。
那么b=a++;为什么是3呢,这就是因为b=a++;在执行这行代码的时候是先进行赋值,然后在进行自增。也就是先int b=a;然后a=a+1;所以在最后b就等于3。
那么为什么c就等于5呢,这是因为++a与a++正好相反,a++是后进行自增运算,而++a就是先进行自增运算,先让a=a+1,然后在赋值给c,因此c也就等于a+1,也就是5了。