在使用循環時,我的問題是怎麼來的,當我們使用++的「for循環」(++右側),它增加。在這個例子中,它在右側,但並沒有增加。Postfix和前綴差異,在Java
int a = 1, y;
b = a++; //so "b" will be 1
// if we do ++a then "b" will be 2
在使用循環時,我的問題是怎麼來的,當我們使用++的「for循環」(++右側),它增加。在這個例子中,它在右側,但並沒有增加。Postfix和前綴差異,在Java
int a = 1, y;
b = a++; //so "b" will be 1
// if we do ++a then "b" will be 2
它增加了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);
}
的行爲完全一致。
在這兩種情況下,a
增加值。但是,與b = a++;
相比增加的值其原始值已分配到b
但b = ++a;
的值增加之前其值被分配給b
。
區別不是與的值的增加beeing與否;它是分配給變量b
的值:a
增加前的原始值或增加後的新值。
如果a
沒有指定給其他變量,那麼a++
和++a
之間沒有區別。
a ++, 在語句上執行之後,a的值遞增,即語句的執行不是遞增的,而是在其執行後遞增。
in ++ a, 在執行語句期間,a的值增加,即在執行時,我們得到增加的值作爲結果。
問題不清楚。給出更多解釋 – 2014-10-06 09:14:45
可能的重複[爲什麼不改變前置後增量在for循環的迭代部分有所作爲?](http://stackoverflow.com/questions/1918196/why-doesnt-changing - 在迭代之前遞增 - 在-fo-fo) – 2014-10-06 09:25:29
重複約一百萬個其他問題。具體來說,這個答案我注意到重複http://stackoverflow.com/a/3511075/21755幾乎總結了它 – 2014-10-06 09:25:44