1. 首页
  2. 编程语言
  3. Java
  4. java中i = i++和i =++i的深入讲解

java中i = i++和i =++i的深入讲解

上传者: 2022-05-21 12:46:24上传 PDF文件 47.67 KB 热度 45次

上面代码输出的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,就是自增过的。

用户评论