++i是使用i之前先使i加一。i++是使用i之后再加一。如果不能理解,那么可以理解为:++i是先计算,再操作,i++是先操作,再计算。
JAVA里的自增运算符。
其中:++i和i++是谁在前先取谁,但加一优先运算并赋给原值,取的值再参与其他运算。
++在后,则是先用原来的值参与运算,遇到一个特殊序列点(&&或||或,或?:或;)才使变量自加。若b=3,a=b++,则a=3,b=4。若a=++b,则a=4,b=4。
i++和++i的区别主要在于自增的顺序,i++代表着i参与运算之后,i的值会自增1,通俗来讲也就是“先加1后赋值”,而++i则表示i自增1之后再参与其他运算,通俗说的“先赋值再加1”。
需要注意的是,若是在for循环里是有不同的,如果要表示递增,理论上两种都可以,不过一般情况下,循环变量增值用i++,而不用++i是因为在循环结构里需要循环变量来结束循环,而使用i++则会导致本来应该继续的循环少执行一次。
所以循环结构里通常都是循环变量在一次循环结构执行完成之后再自增。
参考资料来源:百度百科-++