废话不多说,直接进入主题。
首先i++的返值方式是先赋值后计算,++i的返值方式是先计算后赋值。
示例:
假设先设置个初始值i:int i=0;
输出i++:Systeam.out.printIn(i++)//0
此处输出的值为0,i++的操作流程就是先把自身的值返回给你,在进行计算(i+1),所以此处输出的值为0但是此时i的值已经为1,等下个操作是i的值就为1了。
输出i:Systeam.out.printIn(i)//1
以此类推,++i的示例及操作流程:
假设先设置个初始值i:int i=0;
输出++i:Systeam.out.printIn(++i)//1
输出i:Systeam.out.printIn(i)//1
此处输出的值为1,++i的操作流程就是先进行计算,再把得到的最终值赋值给你,所以此处输出的值为1。
结论:你可以理解成i++返回的最终值总会慢一步,但是其值已经发生变化。++i则是先计算,再把最终的值返回给你。++i相对于i++返回的结果快一步。
代码示例: