– 算术运算符 赋值运算符 关系运算符
– 逻辑运算符 位运算符 条件运算符
运算符
▪ Java 语言支持如下运算符:
– 算术运算符: +,-,*,/,%,++,--
– 赋值运算符 =
– 扩展赋值运算符:+=,-=,*=,/=
– 关系运算符: >,<,>=,<=,==,!=
– 逻辑运算符: &&,||,!
– 位运算符: &,|,^,~ , >>,<<,>>> (了解!!!)
– 条件运算符 ?:
▪ 相关概念辨析
– + 运算符 操作符 Operator
– 5+6 表达式 expression
– 5 6 操作数 Operand
– int m =5+6; 语句 Sentence
![](https://i-blog.csdnimg.cn/blog_migrate/3aefeb6bebebeae93fbb4d396840a900.png)
算术运算符
▪二元运算符类型提升:
–整数运算:
▪如果两个操作数有一个为Long, 则结果也为long
▪没有long时,结果为int。即使操作数全为shot,byte,结果也是int.
–浮点运算:
▪如果两个操作数有一个为double, 则结果为double.
▪只有两个操作数都是float, 则结果才为float.
▪一元运算符(++, --):
![](https://i-blog.csdnimg.cn/blog_migrate/f08466d8a3dcc5f9e2814cf470ebb0e8.png)
赋值运算符
▪ 基本赋值运算符 =
▪ 扩展赋值运算符
– 算术运算符和赋值运算符结合
![](https://i-blog.csdnimg.cn/blog_migrate/f2575ee41eb29543c0f083e6bda2021b.png)
关系运算符
▪ 关系运算符用来进行比较运算
▪ 关系运算的结果是布尔值:true/false
▪ 注意
– 区分==和=
– 不等于是!=不是<>
![](https://i-blog.csdnimg.cn/blog_migrate/070fdd6b0310c74384e72fff6f29077e.png)
逻辑运算符
▪ 逻辑运算符与布尔操作数一起使用,组成逻辑表达式
▪ 逻辑表达式的结果是布尔值
▪ &和&&的区别– “&”:无论任何情况,“&”两边的表达式都会参与计算。
– “&&”: 当“&&”的左边为false,则将不会计算其右边的表达式。即左false则false
▪ “|”和“||”的区别与“&”和“&&”的区别类似。
位运算符(了解)
▪ 位运算符是对操作数以二进制比特位为单位进行操作和运算,操作数和结果都是整型数。
▪ 如果操作的对象是char、byte、short,位移动作发生前其值会自动晋升为int,运算结果也为int。
![](https://i-blog.csdnimg.cn/blog_migrate/6c11be468cc4ac87cc1a7c584ccf4403.png)
条件运算符
▪ 语法格式
– x ? y : z
– 唯一的三目运算符
▪ 执行过程
– 其中 x 为 boolean 类型表达式,先计算 x 的值,若为true,则整个三目运算的结果为表达式 y 的值,否则整个运算结果为表达式 z 的值。
▪ 经常用来代替简单的if-else判断!
![](https://i-blog.csdnimg.cn/blog_migrate/e8b302828655043d145ef80d84b87bfd.png)