我正在面對以下代碼的問題。以下代碼顯示意外的答案。Java-爲什麼Post Increment不改變值?
class Testing {
public static void main(String args[]) {
int y = 2;
y = y++;
System.out.println(y); //output is 2. It should be 3 right ?
}
}
的預期值y爲3,因爲它必須將值分配給ÿ第一和然後遞增ý值。
但是y的值是2.是什麼原因?有人可以給我詳細的解釋嗎?
後增量只是'y ++;'不是'y = y ++;'。 – Kayaman
另請閱讀以下更一般的觀點:http://stackoverflow.com/documentation/java/4388/java-pitfalls/27279/pitfall-combining-assignment-and-side-effects#t=201704051342252965033 –
出於好奇,你從哪裏得出假設,增量應該在作業之後發生? – Holger