情况①:

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

最新文章

  1. eclipse中egit插件使用
  2. [译] OpenStack Liberty 版本中的53个新变化
  3. C# WinForm中将Form显示在Panel中(C#)
  4. [windows操作系统]windows模块
  5. Android——GridView
  6. allegro下快捷键设置[转贴]
  7. 如何在Android应用程序中使用传感器模拟器SensorSimulator
  8. Implementing Remote Validation in MVC
  9. Oracle数据库之创建表空间与用户
  10. (转)Autotrace工具使用——小工具,大用场
  11. Improving the AbiWord&#39;s Piece Table
  12. 【Energy Big Data】能源互联网和电力大数据
  13. uva11600 状压期望dp
  14. Leetcode 136 137 260 SingleNumber I II III
  15. AR入门系列-07-Vuforia柱形体识别
  16. 微积分入门(&quot;SX&quot;T版)
  17. Cisco 的基本配置实例之四----vlan的规划及配置(接入交换机)
  18. C# 广告
  19. Spring编程式事务管理和声明式事务管理
  20. 利用IO和File类实现拷贝文件目录问题

热门文章

  1. 【错误解决】The prefix &quot;context&quot; for element &quot;context:component-scan&quot; is not bound
  2. Qt 设置中文
  3. ntp导致的时钟回拨
  4. 华为MDC自动驾驶
  5. Turing渲染着色器网格技术分析
  6. C#中关于Cookie的理解
  7. MySQL笔记04(黑马)
  8. 痞子衡嵌入式:Keil在线调试时设不同复位类型可能会导致i.MXRT下调试现象不一致(J-Link/DAPLink)
  9. 重磅!GitHub官方开源新命令行工具
  10. noip2006总结