java中的运算符
算数运算符
赋值运算符
比较运算符
逻辑运算符
位运算符
算数运算符
1.基本的算数运算符
+ - * / %
2.java中/是取整的
3. Java中如果做减法以及减法(小数类型)--->无限近似于某个值的h话,Jdk提 供了一个类BigDecmal :完成小数的精确计算(后面讲)
4.扩展的运算符:++ --
单独使用时:不管在前还是在后,都表示数值自增一或者自减一.
参与运算时:符号在前,先自增\自减再参与运算
符号在后,先参与运算再自增\自减
赋值运算符
1.格式:数据类型 变量名称 赋值运算符 初始化值
2.基本的赋值运算符:=
数据类型 变量名 = 初始化值(将等号右边的值赋值给左边的变量)
3.扩展的赋值运算符:+= -+ /= *= %=
sum+=200 ----> sum=sum+200
扩展运算符的特点:都隐藏一个强制类型转换(显性转换)
比较运算符
< > <= >= != ==
<= >=(这两个是或的关系)
特点:无论表达式简单复杂,最终的结果只有true\false
逻辑运算符
1.逻辑符号连接的表达式,结果只有true\false.
2.与& 或| 非! 异或^
3.逻辑单与&:有false则false
4.逻辑单或|:有true则true
5.逻辑异或^:相同为false,相异为true
6.逻辑非!:否定
7.逻辑双与&&:并列关系
8.逻辑双或||:或的关系
9.逻辑双与双或的特点:具有短路效应,如果左边结果为false,则剩下的代码不执行.
位运算符
1.位运算符连接的是具体的数值
2.位与:& 有0则0
3.位或:|有1则1
4.位异或:^相同则为0,不同则为1
5.反码:~按位取反:全部0变1,1变0
6.位移符号 (了解---Java底层源码---部分算法---使用位移符号)
<<:左移,将数据的二进制计算出来---->向左移动,在右边补0
特点:将这个符号左边的数据乘以2的移动次幂
>>:右移二进制数据---向右边移动---最高符合位如果是0,左边补0;最 高符号位 为1,左边补1
特点:将右移符号左边的数据除以2的移动次幂
>>>:无符号右移
二进制数据---无论最高符号位是0还是1,左边补0
位异或^:
特点: 一个数据被另一个数据位异或两次,其值是它本身!