java中的运算符b++和++b的区别

作者:小橘猫 | 创建时间: 2023-05-20
b++和++b都约等于b=b+1,但是两者在参与外部计算的时候是有区别的...
java中的运算符b++和++b的区别

操作方法

先给大家演示一下最大的区别,在我们最熟悉的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++,容易出错,也不便于理解

点击展开全文

更多推荐