day15.三元运算符,小结

三元运算符,小结

昨天已经学过了逻辑运算符和位运算符,今天呢,就讲剩下偷懒的条件运算符以及扩展附值运算符

条件运算符? ,:

扩展运算符+= ,-= ,*= ,/=

扩展运算符

条件运算符就一个问号一个冒号,我们等下再讲,先讲这扩展运算符

我们直接进IDEA,创建一个新的class,名为Demo07写个main方法,

我们先设个变量,int个a等于10,复制下来b等于20,然后在下面写一个a+=b,然后输出一下a,看看什么意思

在这里插入图片描述

结果是30,然后我们在看看这个a+=b,这意思是不是a=a+b, 那a-b怎么表达呢,是不是用**-=**来表示

这都是用来偷懒的,这样一看是不是我们的工作量减少很多,但是,我们在学习的时候还是不要偷懒,等熟悉以后,再偷懒也不迟

这里还要给大家扩展一个字符串连接符,

我们之前学过,用输出指令进行加减运算,

System.out.println(a+b)
System.out.println(""+a+b)

那如果我们在前面加个空的字符串,输出一下会怎么样

在这里插入图片描述

我们可以看到得出来的结果是30和1020

没加空字符串的是正常运算,而加了空字符串 **“ ”**的,它没有去运算,直接输出了,a跟b的结果是连起来的

我们这个加号两侧,只要有一边出现了string类型就是空的字符串 “ ”,它就会把另外的操作输出都转换为string再进行连接

这里就会有一道面试题了

首先,输出 a+b+" ",和输出 “ ”+a+b,他会问你,这两个会有什么区别

在这里插入图片描述

可以看到,结果是1020和30,那为什么呢,要知道,这都是有顺序的,一个是先拼接,在计算,一个是先计算,在拼接,

字符串后面的才会被拼接,前面的会被计算

三元运算符

讲完扩展运算符,接下来我们将三元运算符,再先创一个Demo08,写一个main方法

我们前面学的都是一元,二元运算符,那我们来学学三元运算符,在刚刚的条件运算符中我们看到是有一个问号和冒号

这是什么意思呢,一句话概括

x ? y : z
如果x==true,则结果为y,否则结果为z

相当于x是个布尔值,或者运算符,如果x等于true,那结果就是y,如果x等于false,那结果就是z

这三元运算符也是个偷懒的,那我们先做个测试

先int一个score等于80,再往下照着上面的格式写,

int score = 80;
score < 60 ? “不及格” : “及格”;

如果score小于60,就输出不及格,如果score大于60,就输出及格,

然后在前面加上String的类,加上变量名:type,然后再输出一下type,看看会怎么样

那有人问了,为什么要加上String,加别的不可以吗,要注意,后面的及格合不及格是文字,当然要用字符串输出啦,不然你用int试一下,或者用char

在这里插入图片描述

结果输出了及格,可以看到这个格式是没错的,那如果把score改成50,那是不是就输出不及格了呀,逻辑是差不多的

等到我们学习到流程控制的时候,会学到if,这两个和之前学的布尔值扩展是一个道理的,只是这个比较偷懒,在学习的时候是不建议去用的,

虽然比较偷懒,不建议去用,但是我们必须掌握,包括上面的扩展运算符,因为在工作中是比较常用到的,而且这个可以让代码更加精简,便于理解

学完这些,我们再回到运算符

在这里插入图片描述

我们再小学的时候都学习过,运算的优先级,先乘除后加减

在java里,等级最高的是一元运算符,过了就是加减乘除,然后一级一级往下

在使用的时候,大家就会发现,不需要去刻意的记住,表达式里面,有就优先使用括号来组织,为了大家方便只用,多打一点括号不影响对代码的理解,反而会更清楚

这个优先级就当做作业,有时间就一个一个去试,看一下a+b,a-b会先出来什么东西的,我们一般都会使用括号,弄得明明白白

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值