目录
一、什么是运算符
运算符表达式
运算符:算术运算符、赋值运算符、比较运算符(关系运算符)逻辑运算符
运算符按照优先级别的高低排序分别是:自加/减运算符、 算术运算符、比较运算符、逻辑运算符、赋值运算符。
二、运算符的分类
算术运算符
运算符 | 描述 | 举例 |
---|---|---|
+ | 正号 | +1=1 |
+ | 加 | 2+3=5 |
+ | 字符串连接 | “work”+2=work2 |
- | 负号 | -3=-3 |
- | 减 | 6-3=3 |
* | 乘积 | 5*5=25 |
/ | 整除 | 5/3=1 |
% | 取余 | 5%3=2 |
++ | 自加 | int i=0,i++;++i为2 |
-- | 自减 | int i =0,i-- ; --i为2 |
print:输出但不会换行
println:输出并换行(%n:换行)
printf:格式化输出(逗号前面是字符串后边是要输出的值)
i++先使用后计算
++i先计算后输出
赋值运算符
运算符 | 描述 | 举例 |
---|---|---|
+= | 将运算符右边的值赋给左边的算式两者相加 | int a =5;a+=3; a=8 |
-= | 将运算符右边的值赋给左边的算式两者相减 | int a =5;a-=3; a=2 |
/= | 将运算符右边的值赋给左边的算式两者相除 | int a =5;a/=3; a=1 |
*= | 将运算符右边的值赋给左边的算式两者相乘 | int a =5;a*=3; a=15 |
%= | 将运算符右边的值赋给左边的算式两者取余 | int a =5;a%=3; a=2 |
= | 将运算符右边的值赋给左边 | int a=5; a=5 |
比较运算符
比较运算符的职为布尔型只有true和false
关系运算符的优先级为:>、<、>=、<= 具有相同的优先级,并且高于具有相同优先级的 !=、==。关系运算符的优先级高于赋值运算符而低于算术运算符,结合方向是自左向右。
运算符 | 描述 | 举例 |
---|---|---|
> | 只支持左右两边操作数是数值类型。如果前面变量的值大于后面变量的值, 则为 true | 2>3 false |
< | 只支持左右两边操作数是数值类型。如果前面变量的值小于后面变量的值, 则为 true | 2<3 true |
>= | 只支持左右两边操作数是数值类型。如果前面变量的值大于等于后面变量的值, 则为 true | 2>=3 false |
<= | 只支持左右两边操作数是数值类型。如果前面变量的值大于等于后面变量的值, 则为 true | 2<=3 true |
== | 检查如果两个操作数的值是否相等,如果相等则条件为true。 不要将“==”写成“=”。 | 2=3 false |
!= | 检查如果两个操作数的值是否相等,如果值不相等则条件为true。 | 4!=6 false |
逻辑运算符
&& 与 & 区别:如果 a 为 false,则不计算 b(因为不论 b 为何值,结果都为 false)
|| 与 | 区别:如果 a 为 true,则不计算 b(因为不论 b 为何值,结果都为 true)
注意:短路与(&&)和短路或(||)能够采用最优化的计算方式,从而提高效率。在实际编程时,应该优先考虑使用短路与和短路或
运算符 | 描述 |
---|---|
&& | 短路与运算符当且仅当两个操作数都为真,条件才为真,否则为false。 |
|| | 短路或运算符,当两个数有一个为真时即为true |
! | 逻辑非运算符,用于翻转true和false |
& | 逻辑与运算符当且仅当两个操作数都为真,条件才为真,否则为false。 |
| | 逻辑或运算符,当两个数有一个为真时即为true |
^ | 异或,相同则为false,不相同则为true |