黑马程序员技术交流社区
标题:
i=i++;再Java中实现原理
[打印本页]
作者:
jk7130866
时间:
2015-7-19 08:41
标题:
i=i++;再Java中实现原理
今天逛论坛看到一位朋友发的帖子:
Int i=0;
i=i++;
结果i的值最后为0;没搞明白,上网查了查资料终于懂了,现在分享给大家,希望大家在遇到时小心;
会得到这样的结果是因为Java编译器再遇到++运算时重新开辟一块内存存放原始数据,完成赋值后释放掉这块内存
1.jpg
(38.4 KB, 下载次数: 75)
下载附件
示意图
2015-7-19 08:38 上传
作者:
白羽蘇芳
时间:
2015-7-19 08:43
你的图我不懂,这个东西我只记得毕姥爷说的 这种情况是“先出去玩再回家吃饭”
作者:
小程序
时间:
2015-7-19 09:26
i++,和++i区别在于,前者是和i变化之前的值一样,而++i和变化之后的值一样,这样记住就行
作者:
micro_hx
时间:
2015-7-19 10:35
先出去玩,再回家吃饭啊。。。
作者:
jk7130866
时间:
2015-7-19 10:45
上面的i是原始变量,下面是临时开辟出了出来存放i原始数据的,这样i++之后,还是可以知道i++之前的值,++在右面,复制表达式用的取得是++之前的值,也就是临时存放的i值,这样的话就算i++之后,i还是被赋值为原来的值
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2