操作方法
先给大家演示一下最大的区别,在我们最熟悉的System.out.print语句中,我们尝试输出++a和a++,可以看到结果不同,所以,这两者确实是有区别的,其中++a很好理解,a加了1,自然是2
如图,我再输出a++之后又尝试输出了a的值,可以看到,此时a的值其实就已经是2,之所以前面会输出1,是因为a++是a先参与输出语句,然后a再运算的,
接着来看第三个示例,a++参与运算的时候,同样是先参与运算,然后再自身加1
好,如果你看懂了上面说的,你就能理解下面的输出原因了,1加a++加a,前面a++先参与运算,值为1,然后自身加1,然后再加上a,此时的a已经自身加1过了,所以值已经是2了,结果就是1+1+2=4
另一个需要注意的问题是,加加和加1其实并不是完全等效的,如图,加1的时候回出现类型提升,损失精度等问题,而使用加加的时候却并不会,这是因为加加出来自增1之外,内部还作了强制转型,确保一定的能赋值成功
平时使用的时候,为了直观上方便,所以尽量使用++a,不要去用a++,容易出错,也不便于理解