概述:
java 中内置的表示特定运算规则的符号。
分类:
- 算术运算符
- 赋值运算符
- 关系运算符
- 逻辑运算符
- 三目运算符
位运算符实际开发中用的不多,了解即可。
算术运算符
注意:
1、结果的数据类型
- 两个元素的数据类型一致,结果的数据类型和元素的保持一致;
- 两个元素的数据类型不一致,结果的数据类型和其中大的类型保持一致;
- 其中byte short char类型参与运算时会自动提升为int类型。
面试题:
byte b1 = 3;
byte b2 = 4;
byte b = b1+b2;//编译会报错
2、 除法:当int/int类型时,结果为int类型,直接舍弃小数部分;
商取整的效果
3、 除法:当整数/0 ,除数为0,编译不报错 运行报错(运行时异常)
Exception in thread “main” java.lang.ArithmeticException: / by zero
at OperatorDemo1.main(OperatorDemo1.java:66)
正负点数/0:Infinity(无穷大)
负浮点数/0:-Infinity(无穷小)
0.0/0:NaN(Not a Number)非数字
4、% 取余 模余
整除的概念时使用该 运算符
5、++ 自增运算符
- 单目运算符,对一个元素作运算
- 在++中间不能有空格和其他字符
- 只能作用变量,不能用于字面值或者常量
- 可以在变量前边也可以在变量的后边
- 单独使用的情况下,前后没有区别
- 如果参与运算时,++在前,则会先让变量的值+1,再参与运算
- 变量在前,则先使用变量原来的值参与运算,再让变量的值+1
6、– 自减运算符
- 单目运算符,对一个元素作运算
- 在–中间不能有空格和其他字符
- 只能作用变量,不能用于字面值或者常量
- 可以在变量前边也可以在变量的后边:
- 单独使用的情况下,前后没有区别;
- 如果参与运算时,–在前,则会先让变量的值-1,再参与运算
- 变量在前,则先使用变量原来的值参与运算,再让变量的值-1
7、对于++ –底层实现的理解
num++;等价于num = (type)(num +1);
赋值运算符
- =:赋值,不能表示相等
- 赋值运算符的优先级是最低的
- 扩展的赋值运算符
- += -= *= /= %=
注意:
左侧必须为变量,不能为具体的数据值 也不能为常量
x+=y
先使用左侧变量的值和右侧进行求和运算,将结果赋值给左侧变量
关系运算符
比较运算符,特点:结果一定为 boolean 类型 true false
> < >= <=
== !=
逻辑运算符
特点:针对布尔型来做运算符,运算结果也是boolean类型 true false
- & | ! ^
- && ||
- &:与 且 AND
true&true=true
true&false=false
false&true=false
false&false=false
总结:
两个元素都为true,结果为true;一旦出现false 结果就为false;
- |: 或 OR
true|true=true
true|false=true
false|true=true
false|false=false
总结:
两个元素都为false,结果为false;一旦出现true,结果就为true;
- !:非 取反
单目运算符
!true = false
!false = true
- ^:异或
true^true=false
true^false=true
false^true=true
false^false=false
总结:
两个元素相同则结果为false;两个元素不同则结果为true;
案例:
男女搭配干活不累(一男一女构成一个小组)
- &&:双与 短路与
如果&&左边的值为false,则右边不再执行,结果必然false
除此之外& &&效果一致
- ||:双或 短路或
如果||左边的值为true,则右边不再执行,结果必然为true
除此之外| ||效果一致
&& ||优点:
可以提高程序的执行效率

Neurological Evaluation