Java中count++的坑

最近做了一道題,非常容易落入陷阱。

當count初始值爲0,count=count++;和count=++count;運行出來的結果是不一樣的。count=count++運行出來的結果依舊爲0;

這是因爲JVM運行時,會把count變量拷貝到到臨時變量區,count的值0放入操作數棧中,此時count=0,count++後是先加一後賦值,對局部變量表的count加1,然後再把操作數棧中的0出棧賦值給局部變量表。所以雖然count變爲1,但是最後賦給count的值依然爲0。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章