java中i = i++和i =++i的深入讲解 上传者:qqstrategy55120 2022-05-21 12:46:24上传 PDF文件 47.67 KB 热度 76次 上面代码输出的i为0,如果是把i = i++换成i=++i,又会输出1,这是由于i++是先赋值,再计算导致,但是为什么先赋值呢?但是如果加上一个i=i++呢?0和1依旧是给i赋值为0,2是把当前i的值推送到栈顶,然后iinc对局部变量表的i进行自增,6是把栈顶的数值赋给i,注意,2的时候推送到栈顶的是0,所以又变回0了。i = ++i的时候,iinc往前提了一步,说明,在i的值被压到栈顶前,先进行了自增,所以栈顶的值是1,此时再赋值给局部变量表的里i,就是自增过的。 下载地址 用户评论 更多下载 下载地址 立即下载 用户评论 发表评论