java中计算符号_java中的八种运算符及详解

初学笔记(十七)

89152371891a4cfbbc4d24da72b9d107.png

运算符概述

00f4153430642d18d709aeda9b93c33c.png

算数运算符:

+ 求和

- 相减

* 乘积

/ 商

%求余数(求模)

++自加1

--  自减1

3ef9588cb48177354e5fa4a788132935.png

重点:掌握++和--

b05506a6c6d3900c68920942f21b0355.png

不管++出现在变量前还是变量后,都会让变量自加1

那么,++出现在变量前和变量后有什么区别?

当++出现在变量后,会先做赋值计算,再自加1。

1a7cc27182c4b835133b65be7b794907.png

当++出现在变量前,会先进行自加1的计算,再做赋值计算。

4b3a396eccad3b881194b709ddbcf4ba.png

关于输出语句里的++c与c++

5b78c56487d617820641603c97a08c4c.png

关系运算符

> 大于

>=大于等于

< 小于

<=小于等于

==恒等于

!=不等于

注意:

1、所有关系运算符的运算结果都是布尔类型

2、在Java语言中,=是赋值运算符,==是关系运算符,判断是否相等。

3、关系运算符如果有两个符号的话,中间不能有空格。

>= 这是对的, > = 这是不对的。

== 这是对的,= = 这是不对的。

e4bbf5a079945bf80e26e6b5867809b8.png

逻辑运算符

&   逻辑与(可以翻译成并且)

|    逻辑或(可以翻译成或者)

!  逻辑非(取反)

&& 短路与

||    短路或

用普通话描述的话:100 大于 99 并且 100 大于 98

用代码描述的话:100 > 99 & 100 > 98

逻辑运算符的特点:逻辑运算符两边要求都是布尔类型,并且最终的运算结果也是布尔类型。

逻辑与:

5fdeea211c72628237623e0c487310ff.png

逻辑或

对于逻辑或,只要有一边是true,结果就是true。

6a86d9cfe5c4e6de4a19bc53b7341d8f.png

逻辑非(取反)

e09c621843e5c2699f7feaf7088c07aa.png

当输出语句涉及一个关系运算符时,取非要加一个小括号。

2554aa951ab936c12b1d8f0fbc786b10.png

短路与

短路与(&&)和逻辑与(&)实际上最终 的运行结果是完全相同的,只不过短路与 (&&)会存在短路现象。

264946330e0129a935661fdcb380bac4.png

短路现象:

ac87c80055509b95b5edec605febc23f.png

从效率上说,短路与比逻辑与效率稍高一些。因为逻辑与不管第一个表达式结果是什么,第二个都会执行。

在实际开发中,短路与&&和逻辑与还是需要同时并存的。

大部分情况下都建议使用短路与&&,但当既需要左边表达式执行,又需要右边表达式执行的时候,就要选择逻辑与&。

短路或

或的时候只要有一边是true,结果就是true,所以 当左边表达式结果是true的时候,右边的表达式不需要执行,此时会短路。

赋值运算符

赋值运算符包括“基本赋值运算符”和“扩展赋值运算符”

基本赋值运算符:=

拓展赋值运算符:+=、-=、*=、/=、%=

注意:拓展赋值运算符在编写时,两个符号之间不能有空格(和关系运算符类似)

基本赋值运算符:

赋值运算符“=”的右边优先级比较高,先执行右边的表达式,然后将表达式的执行结果放到左边的“盒子”当中(赋值)。

899a79dda56e4b81f6eccff2d88b1331.png

扩展赋值运算符:

以“+=”为代表学习扩展赋值运算符,其它的运算符,如:-=、*= 原理相似

bec47863f9dd73d034748c51f3ce1cf3.png

i += 10 和 i = i + 10 真的是完全一样吗?

不一样。他们只是相似,但本质并不不同。

4e51bb68051f33ad184c620c13c3f391.png

注:使用扩展赋值运算符时,永远不会改变运算结果类型!

4b095584341a221b15f9457afe364603.png

但有可能损失精度 。(初学笔记(十六))

8d20a496c2f8c96cdc0dd369e85ed01c.png

其他的扩展赋值运算符:

c6f275f39a20691349a03c5c76130ac8.png

条件运算符

语法格式::布尔表达式?表达式1:表达式2。(三目表达式)

执行原理:布尔表达式为true时,表达式1的执行结果作为整个表达式的结果。

布尔表达式为false时,表达式2的执行结果作为整个表达式的结果。

6481be1f01ee4a8cc9ce0cdf3c8fdbca.png

字符串连接运算符

+ 运算符:

1、+ 运算符在java语言中有两个作用

作用1:求和

作用2:字符串拼接

2、什么时候求和?什么时候拼接?

当 + 运算符两边都是数字类型的时候,求和;

当 + 运算符两边任意一边是字符串类型,那么这个 + 会进行字符串的拼接操作。

3、当字符串拼接完成之后,它的结果还是一个字符串。

拼接:

56ba6894a82006fc5586bfd18e8503a0.png

求和: 加法运算

dcb3f7118be327b18bb41bf02971eb4c.png

注意:当一个表达式当中有多个加号的时候, 遵循“自左向右”的顺序依次执行。(除非额外添加了小括号,小括号的优先级高)

637c40505b643399edd73221af1c4a38.png

如果添加了小括号:

f34ad0f764f5e0dd3c7646ac4df2dacf.png

a18d82eb48c83cc8fabaf6b5a329e431.png

  • 2
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值