美文网首页
关于i++和++i最清楚的解释

关于i++和++i最清楚的解释

作者: mundane | 来源:发表于2022-03-16 20:47 被阅读0次

https://blog.csdn.net/c15158032319/article/details/78209740

       0: iconst_0
       1: istore_1
       2: iload_1
       3: iinc          1, 1
       6: istore_1

字节码解释:
想象一个左右有两个栈,左边是局部变量表,右边是操作数栈。
iconst_0
将常量0压入右边的操作数栈,如下图所示

istore_1
弹出操作数栈栈顶的元素赋值给i,也就是把0赋值给i(i在左边局部变量表里,下标为1,下标为0的是this)

iload_1:
将左边局部变量表的i压入操作数栈

iinc 1, 1
左边局部变量表里下标为1的值,也就是i,加1

istore_1
弹出操作数栈栈顶的元素赋值给i,也就是把0赋值给i

相关文章

  • 关于i++和++i最清楚的解释

    https://blog.csdn.net/c15158032319/article/details/782097...

  • 验证++i和i++的区别

    平时我们对k=++i和k=i++的区别解释一般记忆:++i就是i先自身加1再赋值给k;i++就是先将i赋值给k,i...

  • Java中的i++ 和 ++i 在for循环使用

    Java的i++ 和++i 的区别i++:先赋值,后计算;++i;先计算,后赋值。 for循环中的i++和++i...

  • 关于i++和++i 的详解

    闲暇之余,发现自己对于i++和++i的观念变得模糊些许,所以今天又研究了下。废话不多说,本文参考了一些文章的解释,...

  • 关于 i=i++;

    提起后缀式的 i++,我最常听的一句总结就是 后缀模式:先返回,后自增。 但是对于这句话,反映出的意思却并不明朗。...

  • js中i++与++i的区别

    i++的例子: ++i的例子: 解释 我们通过两个例子,可以看出其中不同,当使用i++赋值给a后,a的值为1,而使...

  • java class编译后的源文件指令集

    使用class编译后指令集解释i++和++i的区别[https://www.jianshu.com/p/ef062...

  • i++和++i的区别

    i++和++i有哪些区别? i++和++i都是实现变量i的自增,两者的区别在于i++是先运算,再加1,而++i是先...

  • 简书测试

    # 概述 主要讲 #名词解释 xx xx2 int a = 1;for (i = 0; i<10; i++) {}...

  • i++和++i

    i++ 先赋值后相加 //结果65 ++i 先自加后赋值 //结果66

网友评论

      本文标题:关于i++和++i最清楚的解释

      本文链接:https://www.haomeiwen.com/subject/lzxmdrtx.html