栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java中自增和自减你可能不知道的细节

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java中自增和自减你可能不知道的细节

一.自增/自减符号位置的关系

我们先来了解一下自增自减

 

自增自减虽然理解起来很容易,但是实际用起来可不是这样的哦,这东西其实是有点难度的,不信,我们接着看

int i1 = 10;
int i2 = 20;
int i = i1++; //这个时候自增在右边

System.out.println("i=" + i);
//通过上面的讲解应该能知道这个结果吧: i=10

i = --i2;
System.out.println("i="+i);//结果为19
System.out.println("i2="+i2);//结果为19
//我没在上面先进行了自减,i2是先减的,所以也是19,也没有太难理解,可以多看看开头的讲解

我们一行一行的定义相同类型的变量是不是比较占空间?我们可以把他们简化一下:

int i1 = 10,i2 = 20; //等价于 int j = 0; n int i2 = 20

接下来我们玩一个很有意思的东西
下面将会有点难度,很有意思,我们来继续:

int i=1;
int j=2;
System.out.println(i+++j); //超重点
//唉,难度来了,这样子写不会报错还会出结果哦,而且很重要哦,是不是有点难度?,不急我们来分解一下

第一步

int i=1;
int j=2;
System.out.println(i +++ j); //运行后这里等于3
System.out.println(i); //2
System.out.println(j); //2
//大家可以run一下试试,和你想的是不是一样的?

第二步

//我们分情况讨论
情况1: i++ +j //判断结果: +(运算符)  优先于 放在i后面的++
System.out.println(i++ +j); //3
System.out.println(i); //2
System.out.println(j); //2

情况2: i+ ++j//判断结果: 放在j前面的++ 优先于 +(运算符)
System.out.println(i+ ++j);//4
System.out.println(i);//1
System.out.println(j);//3

第三步

我们来比较一下不难看出i+++j(连在一起)的运算方法时情况1的运算方法,就此我们不难得出结论

第四步

//我们可以有一点探索精神
//分别尝试一下其他的情况,比如:
System.out.println(i +++j);
System.out.println(i+ + +j);
System.out.println(i+++ j);
//都可以自己尝试一下,在套用情况一和情况二得出自己对他们的理解(大家的思维方式可能都不同,这里可以自行理解)

是不是很有趣?

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/275719.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号