zoukankan      html  css  js  c++  java
  • Java中的自增自减

    情况①:

    for (int i = 0; i < 100; i++) {
        j = 1 + j++;
    }
    System.out.println(j);  

    结果是 0 !! 这是由于在进行后自增/自减(j--  j++)操作的时候,先开辟一块新的内存空间来保存运算之间的 j 值,然后再进行++操作,最后将新的内存空间保存的值赋值给等式的左边。

    j = j++ 相当于:
    temp = j; // 开辟新的内存空间保存原来的 j 值
    j = j + 1; // 进行++操作
    j = temp; // 将新内存空间保存的值赋值给等式左边

    情况②:

    int j = 1;
    int x = j++ + (j+2);  // 在第三个+之前 j=1, 在第三个+之后 j=2  即 x = 1 + (2+2);
    System.out.println(x);  // 结果是 5 

    情况③:

    j = 1;
    j = ++j + j++;   // 相当于 j = 2 + j(此时j=2)++;
    System.out.println(j);  // 结果是 4 

    和情况①相同:

    j = 2 + j++ 相等于:
    temp = j;
    j = j + 1;
    j = 2 + temp;

    情况④:

    int j = 1;
    j = j++ + ++j + j++ + j++;  // j = 1 + 3 + 3 + j(此时j=4)++
    System.out.println(j);   //结果是11 
  • 相关阅读:
    常用linux命令
    console页面进去太慢优化
    CentOS7 查看最大线程连接数
    外部ssh连接Ubuntu系统
    Ubantu 防火墙管理
    oracle 闪回
    oracle用户密码过期
    base64编码原理
    Linux 备份数据库mysql
    python静态方法-类方法
  • 原文地址:https://www.cnblogs.com/DDiamondd/p/11523377.html
Copyright © 2011-2022 走看看