运算符是一种特殊的符号,用以表示数据的运算、赋值和比较等。
- 算术运算符
- 赋值运算符
- 比较运算符(关系运算符)
- 逻辑运算符
- 位运算符
- 三元运算符
算术运算符:
运算符 | 运算 | 举例 | 结果 |
---|---|---|---|
+ | 正号 | +3 | 3 |
- | 负号 | b=4;-b | -4 |
+ | 加 | 1+1 | 2 |
- | 减 | 2-1 | 1 |
* | 乘 | 2*1 | 2 |
/ | 除 | 2/1 | 2 |
% | 取模(取余) | 7%5 | 2 |
++ | 自增(前),先运算后取值 | a=2;b=++a; | a=3;b=3 |
++ | 自增(后),先取值后运算 | a=2;b=a++; | a=3;b=2 |
– | 自减(前),先运算后取值 | a=2;b=–a; | a=1;b=1 |
– | 自减(后),先取值后运算 | a=2;b=a–; | a=1;b=2 |
+ | 字符串连接 | “zhang”+“san” | “zhangsan” |
赋值运算符:
符号:=
- 当 = 两侧数据类型不一致时,可以使用自动类型转换或使用强制类型转换处理
- 支持连续赋值
- 扩展赋值运算符:+=,-=,*=,/=,%=
比较运算符:
运算符 | 运算 | 举例 | 结果 |
---|---|---|---|
== | 相等 | 1==2 | false |
!= | 不等 | 1!=2 | true |
< | 小于 | 1<2 | true |
> | 大于 | 2>1 | true |
<= | 小于等于 | 2<=1 | false |
>= | 大于等于 | 2>=1 | true |
instanceof | 检查是否是类的对象 | “Hello” instanceof String | true |
-
比较运算符的结果都是boolean类型,要么是true,要么是false
-
比较运算符 “==” 不能误写为 “=”
逻辑运算符:
& 逻辑与
&& 短路与
| 逻辑或
|| 短路或
! 逻辑非
^ 逻辑异或
位运算符:
左移:<<
空位补0,被移除的高位丢弃,空缺位补0
右移:>>
被移动的二进制最高位是0,右移后,空缺位补0;最高位是1,空缺位补1
无符号右移:>>>
被移位二进制最高位无论是0或者是1,空缺位都用0补
与运算:&
二进制位进行&运算,只有1&1时结果是1,否则是0
或运算:|
二进制位进行|运算,只有0|0时结果是0,否则是1
异或运算:^
相同二进制位进行^ 运算,结果是0
不同二进制位^运行结果是1
取反运算:~
正数取反,各二进制码按补码各位取反
负数取反,各二进制码按补码各位取反
位运算是直接对整数的二进制进行的运算。
三元运算符:
格式:(条件表达式)?表达式1:表达式2;
条件表达式为true时,结果是表达式1
为false时,运算后结果是表达式2
- 表达式1和表达式2为同种类型