2014-10-06 63 views
0

在使用循環時,我的問題是怎麼來的,當我們使用++的「for循環」(++右側),它增加。在這個例子中,它在右側,但並沒有增加。Postfix和前綴差異,在Java

int a = 1, y; 
b = a++; //so "b" will be 1 
     // if we do ++a then "b" will be 2 
+1

問題不清楚。給出更多解釋 – 2014-10-06 09:14:45

+0

可能的重複[爲什麼不改變前置後增量在for循環的迭代部分有所作爲?](http://stackoverflow.com/questions/1918196/why-doesnt-changing - 在迭代之前遞增 - 在-fo-fo) – 2014-10-06 09:25:29

+0

重複約一百萬個其他問題。具體來說,這個答案我注意到重複http://stackoverflow.com/a/3511075/21755幾乎總結了它 – 2014-10-06 09:25:44

回答

0

它增加了for循環和你的例子。 a++增加a,但b獲得以前的值a

在for循環中你沒有的i++返回值分配給不同的變量,因此,如果你寫i++++i不要緊。

for (int i=0;i<5;i++) 
{ 
    System.out.println(i); 
} 

for (int i=0;i<5;++i) 
{ 
    System.out.println(i); 
} 

的行爲完全一致。

0

在這兩種情況下,a增加值。但是,與b = a++;相比增加的值其原始值已分配到bb = ++a;的值增加之前其值被分配給b

區別不是與的值的增加beeing與否;它是分配給變量b的值:a增加前的原始值或增加後的新值。

如果a沒有指定給其他變量,那麼a++++a之間沒有區別。

0

a ++, 在語句上執行之後,a的值遞增,即語句的執行不是遞增的,而是在其執行後遞增。

in ++ a, 在執行語句期間,a的值增加,即在執行時,我們得到增加的值作爲結果。