2017-09-13 114 views
-6

也許我錯過了,但我不明白,爲什麼我得到的結果2這段代碼:我想不通爲什麼我會得到結果2

i = 1; 
i = i-- - --i; 
System.out.println(i); 
+4

這是正確的,你在期待什麼? – Mritunjay

+0

我在一些java問題中看到了這個。但在現實生活中,這是非常糟糕的做法。寫得更簡潔明瞭,對每個人都是可以理解的。 –

+0

你爲什麼不呢?你*是*遞減'我'兩次。你不應該這樣做。 – dhke

回答

3

i = i-- - --i你有:

  • i--,一個後減量,以檢索的i1)的當前值,然後遞減至i0
  • -
  • --i,一個遞減預,這再次遞減i並檢索更新後的值,-1

所以你最終i = 1 - -1這是2。不用說,這種事情顯示出來(愚蠢的)Java測試等,但絕不應該出現在生產代碼中。

+0

我不敢相信我沒有抓住這個,感謝你的幫助。 – Antonio

相關問題