Java 自增、自减
i++/i--
先使用变量的值,然后改变该变量的值;
++i/--i
先改变该变量的值,然后使用变量的值;
学习Java的时候没有思考过java中变量自增的原理,今天遇到一道java题目,有点懵:
int i = 0;
i = i++;
最终变量i的值到底是变成1呢还是保持为0呢?
java中变量自增、自减的实现其实使用了一个临时中间变量作为缓存。
以i++为例:
1 public static void main(String[] args) {
2 int i = 0;
3 int j = i++;
4 }
以上代码其实相当于:
public static void main(String[] args) {
int i = 0;
int temp = i;
i += 1;
int j = temp;
}
所以,i = i++的结果是i的值为保持不变。
public static void main(String[] args) {
int i = 0;
i = i++;
}
其实等于
public static void main(String[] args) {
int i = 0;
int temp = i;
i += 1;
i = temp;
}
Java 自增、自减的更多相关文章
- java自增(自减)运算符
自增(自减)运算符: ++ --就是可以将当前变量自我增加(减少)1 的运算符. i++, 后++, 先将 i 的值作为整个表达的值, 然后将 i 增加 1. ++i, 先++, 先将 i 增加 ...
- Java自增自减运算
自增自减运算 //++(自增) --(自减) 一元允运算 int a =3; //a = a+1-----4 int b=a++; //执行完这行代码后,先给b赋值,再自增 System.out.pr ...
- JAVA自增自减的玄机
先看下面代码: ; i = i++; System.out.println(i); 请问:输出结果为多少? ---------------------------------------------- ...
- Java基础知识——算术操作符、自增自减、关系操作符,你真的了解吗?
三人行,必有我师焉.欢迎大家加我的微信 yh18482155461,或扫描下方二维码,关注我的微信公众号,共同探讨Java相关技术问题. 温故知新 上一节我们讲到了Java中的赋值操作符,用案例的方式 ...
- 【Java】【4】关于Java中的自增自减
摘要:理解j = j++与j = ++j的区别:正确用法:直接用j++,不要用前两种 正文: import java.util.*; public class Test{ public static ...
- java基础(二) 自增自减与贪心规则
引言 JDK中提供了自增运算符++,自减运算符--.这两个操作符各有两种使用方式:前缀式(++ a,--a),后缀式(a++,a--).可能说到这里,说不得有读者就会吐槽说,前后缀式都挺简单的,前 ...
- Java运算符使用总结(重点:自增自减、位运算和逻辑运算)
Java运算符共包括这几种:算术运算符.比较运算符.位运算符.逻辑运算符.赋值运算符和其他运算符.(该图来自网络) 简单的运算符,就不过多介绍使用了,可自行测试.关于赋值运算,可以结合算术运算和位运算 ...
- java入门---运算符&算术运算符&自增自减运算符&关系运算符&位运算符
计算机的最基本用途之一就是执行数学运算,作为一门计算机语言,Java也提供了一套丰富的运算符来操纵变量.我们可以把运算符分成以下几组: 算术运算符 关系运算符 位运算符 逻辑运算符 赋值运算符 ...
- 023 01 Android 零基础入门 01 Java基础语法 03 Java运算符 03 算术运算符之——自增自减运算符
023 01 Android 零基础入门 01 Java基础语法 03 Java运算符 03 算术运算符之--自增自减运算符 本文知识点:Java算术运算符中的自增自减运算符 自增自减运算符 之前我们 ...
- 【java从入门到精通】day-06-基本运算符-自增自减运算符
1.运算符 java语言支持如下运算符: 算术运算符:+,-,*,/,%,++,-- 赋值运算符:= 关系运算符:>,<,>=,<=,==,!=,instanceof 逻辑运算 ...
随机推荐
- MySQL数据库优化(五)——MySQL查询优化
http://blog.csdn.net/daybreak1209/article/details/51638187 一.mysql查询类型(默认查询出所有数据列)1.内连接 默认多表关联 ...
- http://www.freeopensourcesoftware.org
Applications http://www.freeopensourcesoftware.org/index.php?title=Applications Main Page > Thi ...
- oracle函数 round(x[,y])
[功能]返回四舍五入后的值 [参数]x,y,数字型表达式,如果y不为整数则截取y整数部分,如果y>0则四舍五入为y位小数,如果y小于0则四舍五入到小数点向左第y位. [返回]数字 [示例] se ...
- display的值和对应的意义
none:隐藏对应元素,不为隐藏的对象保留其物理空间 block:指定对象为块元素 inline:指定对象为内联元素 inline-block:指定对象为内联块元素 table:指定对象为块元素的表格 ...
- 如何学习Python的一些总结
https://mp.weixin.qq.com/s/w0NoDiYfvtTy8N3BVoIVpw 为什么选择Python 经常会有同学问我为什么选择Python.我很喜欢这门语言,因为它的简洁灵活, ...
- SQL 变量,运算符
一.变量 SQL语言也跟其他编程语言一样,拥有变量.分支.循环等控制语句. 在SQL语言里面把变量分为局部变量和全局变量,全局变量又称系统变量. (一).局部变量 使用declare关键字给变量声明, ...
- HDU 1251 裸的字典树、入门题
裸的字典树还是挺简单的. 四个基本操作建立.查找.插入.删除 建立新结点我是用的c++中 new操作.当然也可以用malloc,都方便 不过指针阿.地址阿.这其中关系什么的我貌似还不是很清楚阿. 因为 ...
- 条件随机场(CRF) - 2 - 定义和形式
版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/xueyingxue001/article/details/51498968声明: 1,本篇为个人对& ...
- H3C 帧中继基本概念
- 以P2P网贷为例互联网金融产品如何利用大数据做风控?
以P2P网贷为例互联网金融产品如何利用大数据做风控? 销售环节 了解客户申请意愿和申请信息的真实性:适用于信贷员模式. 风控关键点 亲见申请人,亲见申请人证件,亲见申请人签字,亲见申请人单位. 审 ...