zoukankan      html  css  js  c++  java
  • 疯狂的 JAVA 后++

    一、x++


    所以执行完x++之后,局部变量区的x值,直接为2;

    iinc: 指定int型变量增加指定的值,注意是变量,我的解释是iinc直接对局部变量操作,而不是对操作栈进行操作! ★★★★

    OUTPUT: 2

    二、x = x++ + x


    2、分解:      
          x = x++ + x;
          a. 1++    赋值给局部变量的x
          b. 1 + 2  将局部变量区的2压栈
          c. x = 3   操作结果赋值

    2、内存示意图

     

    OUTPUT: 3

     三、x = x +  x++

    1、注意 2,3,4 操作和 二中的区别:
          二中由于 x++ 在加法运算前面,所以会先iinc, 然后在iload;
          三中由于 x++ 在加法运算后面,所以对加法运算而言可以取到他想要的两个操作数,因此先分别获得两个相同的加法操作数;
     
    2、分解:
          x = x + x++;
          a.  1 + 1     压入操作栈
          b.  1++      局部变量区变为2
          c.   x = 2    操作栈赋值给局部变量 x
    OUTPUT: 2

    四、x = x++
     

    OUTPUT: 1
     
  • 相关阅读:
    mysql基于Altas读写分离并实现高可用
    mysql基于GTIDS复制
    mysql创建用户账号出错
    mysql存储引擎
    mysql读写分离
    for each ;for in;for of 三者的区别
    关于编程的历史
    用indexof来统计字符出现的次数
    正则表达式
    DOM,BOM
  • 原文地址:https://www.cnblogs.com/felixpan/p/4625123.html
Copyright © 2011-2022 走看看