摘要: 对i++和++i 一直有点晕,今天专门抽空来研究相关的知识。先从简单的说起。有如下程序:int i=0;i=i++;system.out.print(i);一眼望去这个结果显而易见是1,但是事实确不是。结果是0.因为i++是先执行赋值操作,在执行自增操作。也就是说i=i++ 是先将0赋值给i,然后再自增。那奇怪了,结果也应该是1啊,但是为什么结果还是0呢。从这个例子,我们来说明第一个,也就是为什么i++赋值给i后,i依然为0.我个人的理解:i 在初始化的时候,系统会将 i 指向系统堆栈中为0的地方。执行i=i++ 时,是先将右边的 i 赋值给i的,也就是说,此时结果没有变。但是之后会执行i++ 阅读全文
posted @ 2014-02-28 21:28 shenghaishiweini 阅读(193) 评论(0) 推荐(0) 编辑