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。

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