幾乎全部有“++”寫(xiě)法的語(yǔ)言都一樣,如果你會(huì)C的++是怎么用的,java也是這么用。
a = b++; // ++寫(xiě)在后面,說(shuō)明前面那個(gè)東西前用了,也就是b先賦值給a了,然后b再+1
a = ++b; // ++寫(xiě)在前面,說(shuō)明++先有效,即b要+1,然后賦值給a
最終效果上是a的值不同,而b的值都做了+1操作,只是先賦值還是先+1的問(wèn)題。
對(duì)于我們常寫(xiě)的for (int i = 0; i < n; i++) {} 這個(gè)++寫(xiě)前寫(xiě)后都一樣,實(shí)際上我們?cè)谶@里需要的是先+1,再參與后續(xù)的操作,但寫(xiě)成++1就有些別扭,至少SUN的源文件中for循環(huán)中都是寫(xiě)i++的。
也就是說(shuō),++在前在后的影響,只在一條語(yǔ)句中有效,即一個(gè)分號(hào)“;”中有效。出了這個(gè)分號(hào)就不好用了。所以for循環(huán)的i++怎么寫(xiě)都行,因?yàn)檫@個(gè)分號(hào)不涉及其它操作,也就無(wú)所謂先后了。
來(lái)源:百度