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。

发布了47 篇原创文章 · 获赞 7 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/floraruo/article/details/103990473