这几个运算符的差别总是过一段时间就爱搞混,每次需要百度,还是自己记录一下方便查阅。

int i=0;
System.out.println(i++);

输出:0

int i=0;
System.out.println(++i);

输出:1

int i=0;
System.out.println(i=i+1);

输出:1

int i=0;
System.out.println(i+=1);

输出:1

发现,其它都可以自增,i++仍然是原来的值没有变。

i=i+1跟i+=1一样,只是后者效率更高。

i++先赋值后自增,++i先自增后赋值。

int i=0;
i=++i;
System.out.println(i);//输出:1

int i=0;
i=i++;
System.out.println(i);//输出:0

i++程序详细处理步骤如下: 步骤1 JVM把右边i值(其值是0)拷贝到临时变量区。 步骤2 右边值加1赋值给左边i,这时候左边i的值是1。 步骤3 返回临时变量区的值,注意这个值是0,没修改过。 步骤4 返回值赋值给左边i,此时i值被重置成0

例子:

int i=0,j=0;
j=i++;//j=i,i=i+1
System.out.println(i);//输出1
System.out.println(j);//输出0

随机推荐

  1. hive 集群初探,查询比较

    在slave3安装MySQL作为hive 的matastore [root@slave3 hadoop]# yum search mysql [root@slave3 hadoop]# yum ins ...

  2. 【253】◀▶IEW-Unit18

    Unit 18 International Events 1.model1对应题目分析 The Olympic Games is a major international sporting even ...

  3. linux 统计 程序 运行时间

    测试 代码运行时间 linux 中的 <sys/time.h> 中 有个函数可以获取当前时间,精确到 微秒 ---->  gettimeofday() #include <sy ...

  4. eos各表的关系

    在使用EOS WorkFlow的过程中,无论是开发者在“开发环境”中定义业务流程,还是“工作流引擎”控制流程流转,或是工作流参与者使用的“客户端”,再或者管理员使用的“管理与监控工具”,在这期间都会贯 ...

  5. position:fixed;如何居中

    div{ position:fixed; margin:auto; left:; right:; top:; bottom:; width:100px; height:100px; } 如果只需要左右 ...

  6. vivado中使用debug不能连接到vcse_server

    打开 Xilinx Design Tools -> ISE Design Suite 14.7 -> Accessories -> ISE Design Suite 64 Bit C ...

  7. Web 应用之数据库的配置 与链接 Mysql

    source 绝对路径.sql(绝对路径是对应数据库版本包下的) source时是有先后顺序的必须是create 在insert 在 下面是链接,上面是把数据导入到数据库中,数据也可以自己写进去. 配 ...

  8. App知识点汇总

    1.Fragment 2.AndroidStudio 用夜神安卓模拟器调试 进入夜神模拟器安装目录下的bin目录,执行nox_adb.exe connect 127.0.0.1:62001,Andro ...

  9. Unity 点乘与叉乘 计算敌人位置

    点乘:表示两个向量夹角 a*b=|a| * |b| * cos(ab),判断敌人在前后方 叉乘:表示两向量的法线

  10. Eclipse插件无法识别的解决方法汇总

    参考 http://www.cnblogs.com/apollolee/archive/2013/06/18/3142243.html