Day2.Java常用运算符


前言

常用运算符:
概念:运算符就是告诉程序执行特定的运算符操作符号。java中提供了6类运算符:
​ 赋值运算、算术运算、关系运算、逻辑运算、位运算、条件运算

1.赋值运算

赋值运算符号“=”用于给变量指定变量的值,并可以和算术运算符结合起来,组成复合赋值运算符。复合赋值运算符:“+=”、“-=”、“*=”、“/=”、“%=”
实例:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.算术运算

算术运算符包括:“+”,“-”,“*”,“/”,“%”、“++”、“–”

​ 其中:++表示自增运算

​ --表示自减运算
i++
在这里插入图片描述
在这里插入图片描述
++i
在这里插入图片描述
在这里插入图片描述

注意:

​ 比较:相同点都进行了i+1,操作:i++先赋值表达式,再进行自增运算;++i:先进行了i+i运算,再进行了表达式运算

​ 同理可得i–和–i的相同点和不同点。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
对于除法运算,如果两个操作数都是整数,结果也是整数,会舍去小数部分,如果两个数,有一个是浮点数,将会进行自动类型转换,结果也是浮点数,保留小数部分
在这里插入图片描述

在这里插入图片描述
​ 对于取模运算符,如果两个操作数均是整数,结果也是整数,如果两个操作数有一个浮点数结果也是浮点数,保留小数部分
在这里插入图片描述

在这里插入图片描述

3.关系运算符

​ 关系运算符有时又叫比较运算符,用于比较两个变量或常量的大小,运行的结果是布尔值:true

或false;

Java中有6个关系运算符:“==”、“!=” “>”,“<”,“>=”;“<=”
在这里插入图片描述

在这里插入图片描述

注意:

​ 1."="表示是赋值运算符;”==“表示等于运算符

​ 2.”>“;“<”,“>=”;“<=”;只支持数值类型的比较

​ 3.“==”、“!=”支持所有数据类型的比较,包括数值类型、布尔类型、引用类型

​ 4.关系运算符,运算后的结果是一个布尔值

​ 5.“>”,“<”,“>=”;“<=”;运算符的优先级高于”==“、”!=“

4.逻辑运算符

​ 逻辑运算符用于对布尔类型操作数进行运算,其结果还是布尔值,逻辑运算如下

运算符含义运算规则
&逻辑与两个操作数都是true,结果才是true;不论左边取值,右边的表达式都会进行运算
|逻辑或两个操作数一个是true,结果也是true;不论左边取值,右边的表达式都会进行运算
^逻辑异或两个操作数相同,结果为false;两个操作数不同,结果为true
逻辑非操作数为true,结果为false;操作数为false,结果为true
&&短路与运算规则同“&”,不同在于如果左边为fasle,右边表达式不会进行运算
||短路或运算规则同“|”,不同在于如果运算符左边的值为true,右边的表达式不会进行运算
注意:

​ 1.操作数类型只能是布尔类型,操作的结果也是布尔类型

​ 2.优先级别:”!“>“&”>“^”>“|”>“&&”>“||”。

​ 3.&与&&的区别:当“&&”的左侧为fasle时,将不会计算其右侧的表达式,即左边false则fasle;无论任何情况,“&”两侧的表达式都会参与计算

​ 4.逻辑或和短路或:的区别和逻辑与与短路与类似

5.位运算

运算符含义运算规则
&按位与两个操作数都是1的时候,结果才是1
|按位或两个操作数一个是1,结果就是1
^按位异或两个操作数相同,结果为0,两个操作数不同,结果为1
~取反/按位非操作数为1,结果为0;操作数为0,结果·为1
<<左移右侧空位补0
>>右移左侧空位补最高位
>>>无符号右移左侧空位补0

示例

​1.计算5&6
5:0101
6:0110
结果:0100=4
2.计算5|6
结果:0111=7

3.计算6<<2的结果

​ 实现步骤:

​ 1.把6转换为二进制数

​ 2.让所有的二进制位向左移动两位,最高位移除,空出的低位一律补0

​ 3.最终得到的运算的二进制数转换为10进制的是24

注意

​ 1.位运算符对操作数,以二进制单位为单位进行运算

​ 2.位运算符操作数是整数类型:int、short、long、byte、char

​ 3.位运算符运算的结果也是整数:包括int、long

​ 4.如果操作数,是char、byte、short位运算前其值先自动晋升int,所以结果也是int

6.条件运算(三目运算符)

​ 是java中唯一需要3个操作数的运算符,又叫三元运算或三目运算

​ 条件运算符的语法格式:

​ 条件? 表达式1:表达式2

​ 运算过程:

​ 1.先对条件进行判断,结果为true,则返回表示式1的值

​ 2.如果结果为false,则返回表达式2的值
在这里插入图片描述

在这里插入图片描述

1.在表达式“min = 5<7 ? 5 : 7”中,首先判断5<7的值,结果为true。则取表达式1的值5,赋给变量min=5

​ 2.在表达式“max = 10<7 ? 10 : 7”中,首先判断10<7的值,结果为false,则取表达式2的值,赋给变量max=7

运算符的优先级:

​ 1.运算符的最低的级别是赋值运算,其次条件运算符

​ 单目运算包括:”!“、”~“、”++“、”–“优先级最高的

​ 可以通过”()“来控制表达式的运算顺序,”()“优先级别最高

​ 总体而言:优先顺序为算术运算符>关系运算符>逻辑运算符

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Xem626

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值