你知道java中 i=i++后i的值是多少么之二
1、如果i++后,不进行赋值操作,i的值为2下面就来比较一下,这种情况生成的bytecode和上一个有什么不同先来看看改过后代码吧Show me the code.Code:package chapter4;/** * Created by MyWorld on 2016/3/17. */public class IPlusPlusDemo { public static void main(String[] args) { int i = 1; i++; System.out.println(i); }}

3、看看这种情况的bytecode命令:javap -c IPlusPlusDemo.class

5、按照上方的经验,找到相关的bytecode如下: 0: iconst_1 //把int型常量1push到栈中,即int 1现在在栈顶了 1: istore_1 //pop出栈顶的1,给i赋值。执行结束后i存放的值为1 2: iinc 1, 1//自增指令。变量i的值++,即当前i的值为2所以,现在i的值是2了。当前bytecode的情况和实际执行的结果是一致的

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
阅读量:38
阅读量:90
阅读量:48
阅读量:62
阅读量:37