java的自增和自减
class Untitled {
public static void main(String[] args) {
int a = 3;
int b = a++; //a先赋值给b,然后a再自己加1
System.out.println("a="+a); //输出a=4
System.out.println("b="+b); //输出b=3
System.out.println("\n");
a = 3;
int c = ++a; //a先加1,然后再赋值给c
System.out.println("a="+a); //输出a=4
System.out.println("c="+c); //输出c=4
System.out.println("\n");
c++;
System.out.println(c); //输出5
++c;
System.out.println(c); //输出6
}
}

自减跟自增一样。
总结:
如果只是a++;或者++a;这样不参与赋值操作,那结果都是一样,都是加1;
如果是有参与赋值运算,比如:int c = a++;或int c = ++a;那么c的值是有区别的。
如果参与了赋值运算那么就要看赋值自增的运算符在变量的左边还是右边:
如果自增运算符在左边:++a;那么就是a先自增,再赋值给c;
如果自增运算符在右边:a++;那么就是a先赋值给c,再自增;
(也可以有自己的记忆理解方法)
【水平有限,不对之处,还请指出】
java的自增和自减的更多相关文章
- 关于java中自增,自减,和拓展运算符的小讨论
java中运算符很多,但是能深入讨论的不算太多.这里我仅仅以++,*=为例做讨论. 例:++ i=0; i=i++ + ++i;//i=1 i=++i+i++;//i=2 i=i++ -++i;//i ...
- Java变量自增和自减运算符的用法
1.后加加(num++): 先输出运算结果再加加: public static void main(String[] args){ int num=10; int p1=num++; System. ...
- Java自增和自减操作符——++/--的那些事
1. 概述 自增操作符(++)和自减操作符(--)是对变量进行加1和减1的操作. 2.分类说明 ++和--是对变量进行自增1和自减1的简写操作符.许多编程任务中经常需要对变量加1或者减1,所以采用这两 ...
- java 自增和自减运算符
/** 自增和自减运算符: ++: 如果是++b,则表示先对变量b+1,再执行其他的操作: 如果是b++,则表示先执行表达式操作,再对变量自身+1 --: 用法和++相同 */ //Test.java ...
- Java 自增、自减
i++/i-- 先使用变量的值,然后改变该变量的值: ++i/--i 先改变该变量的值,然后使用变量的值: : i = i++; 最终变量i的值到底是变成1呢还是保持为0呢? java中变量自增.自减 ...
- 转:自增(自减)在Java与C中的区别
转自:http://seiyatime.blog.sohu.com/84358295.html 话说昨日面试,在笔试的25个选择题中,涉及自增自减不止一两题,以前在开发过程中并没太在意这方面的问题,也 ...
- Java SE --- 自增自减
关于变量的自增与自减运算. 1) int b = a++,作用是将a的值先赋给b,然后再让a自增1. 2) int b = ++a,作用是将a的值先自增1,然后将自增后的结果赋给b. 直接上例 ...
- Java基础知识(一) 自增、自减运算符
.d1 { border-style: none } .d2 { border-style: solid } .d3 { border-style: dotted } .d4 { border-sty ...
- Java基础——自增自减及初识Math类
自增自减及初识Math类 public class Demon05 { public static void main(String[] args) { // ++ -- 自 ...
随机推荐
- 邮件发送,无尽的501错误。TCP发送邮件解决方案
先贴上错误信息,便于搜索引擎采集,也送给遇到此问题的技术朋友们. smtp 501 Syntax error (no parameters allowed) (#5.5.4) 背景描述: 使用TCP发 ...
- PAT Advanced 1074 Reversing Linked List (25) [链表]
题目 Given a constant K and a singly linked list L, you are supposed to reverse the links of every K e ...
- Properties in Algebra
附录-Properties in Algebra 部分证明转载自标注,仅作个人整理查阅用. 范数 (norm) \(^{[1]}\) 要更好的理解范数,就要从函数.几何与矩阵的角度去理解,我尽量讲的通 ...
- protobuf编译工具使用
1.下载,配置环境变量 下载地址:https://github.com/google/protobuf/releases,选择protoc-xxx-win64.zip下载 把.exe文件的位置加入到P ...
- java添加后台缓存
public class Cache { private String key;//缓存ID private Object value;//缓存数据 private long timeOut;//更新 ...
- CountDownLatch 我的应用场景
记得我是做一个第三方接口,当时需要拿公司的五万辆车通过每周四的夜间去获取违章数据: 三方当时只提供一个只能一辆车去获取未处理的违章数据: 接口是http的方式获取: 当时我是用CountDownLat ...
- 关于shopee平台接口(php)对接示例
2018年8月之后,shopee开始使用新接口,需要进行授权操作 1.授权 public function getAuth(){ /** * @param ShopApiShopee $model * ...
- Windows、Linux(Ubuntu)修改 pip 镜像源
一.Windows 修改 pip 镜像源 1.win + R 打开运行,输入 %APPDATA% 2.按下回车,打开文件夹. 3.在该文件夹下,新建文件夹,命名 pip. 4.进入 pip 文件夹, ...
- mybatis使用Map<String,Object>映射mysql结果集,关于字段的问题
--mysql常用字段类型如图 --mybatis使用Map<String,Object>映射,会将tinyint映射成Integer类型.decimal映射成BigDecimal类型 所 ...
- debian8修改kde桌面语言
apt-get install kde-l10n-zhcn, language里面改中文 亲测可用 来源:http://tieba.baidu.com/p/2489771177