Java中的自增自减
2024-09-01 02:11:05
情况①:
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
最新文章
- eclipse中egit插件使用
- [译] OpenStack Liberty 版本中的53个新变化
- C# WinForm中将Form显示在Panel中(C#)
- [windows操作系统]windows模块
- Android——GridView
- allegro下快捷键设置[转贴]
- 如何在Android应用程序中使用传感器模拟器SensorSimulator
- Implementing Remote Validation in MVC
- Oracle数据库之创建表空间与用户
- (转)Autotrace工具使用——小工具,大用场
- Improving the AbiWord&#39;s Piece Table
- 【Energy Big Data】能源互联网和电力大数据
- uva11600 状压期望dp
- Leetcode 136 137 260 SingleNumber I II III
- AR入门系列-07-Vuforia柱形体识别
- 微积分入门(";SX";T版)
- Cisco 的基本配置实例之四----vlan的规划及配置(接入交换机)
- C# 广告
- Spring编程式事务管理和声明式事务管理
- 利用IO和File类实现拷贝文件目录问题
热门文章
- 【错误解决】The prefix ";context"; for element ";context:component-scan"; is not bound
- Qt 设置中文
- ntp导致的时钟回拨
- 华为MDC自动驾驶
- Turing渲染着色器网格技术分析
- C#中关于Cookie的理解
- MySQL笔记04(黑马)
- 痞子衡嵌入式:Keil在线调试时设不同复位类型可能会导致i.MXRT下调试现象不一致(J-Link/DAPLink)
- 重磅!GitHub官方开源新命令行工具
- noip2006总结