运算符
运算符是一种特殊的符号,用以表示数据的运算、赋值和比较等。
- 算术运算符
- 赋值运算符
- 比较运算符(关系运算符)
- 逻辑运算符
- 位运算符
- 三元运算符
1.算术运算符:
- 正号:+
- 负号:-
- 加:+
- 减:-
- 乘:*
- 除:/
- 取模(取余):%
- 自增(前):+ + 先自增1,后运算
自增(后):+ + 先运算,后自增1
- 自减(前):- - 先自减1,后运算
自减(后):- - 先运算,后自减1
- 字符串连接:+
2.赋值运算符:
- =
当“=”两侧数据类型不一致时,可以使用自动类型转换或使用强制类型转换原则进行处理。
支持连续赋值。
- **+= -= = /= %=
3.比较运算符:
结论:1.比较运算符的结果都是boolean型,也就是要么是true,要么是false。
2.比较运算符**“==”**不能误写成**“=”** 。
- 相等于:==
- 不等于:!=
- 小于:<
- 大于:>
- 小于等于:<=
- 大于等于:>=
- 检查是否是类的对象:instanceof
4.逻辑运算符:
- 逻辑与:& 短路与:&&
- 逻辑或:| 短路或:||
- 逻辑非:!
- 逻辑异或:^ | a | b | a&b | a&&b | a|b | a||b | a!b | a^b | | —- | —- | —- | —- | —- | —- | —- | —- | | true | taue | true | true | true | ture | false | false | | true | false | false | false | true | ture | false | ture | | false | taue | false | false | true | ture | ture | ture | | false | false | false | false | false | false | ture | false |
“&”和“&&”的区别:
1.单&时,左边无论真假,右边都进行运算;
2.双&时,如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算。
“|”和“||”的区别:
1.单|时,左边无论真假,右边都进行运算;
2.双|时,如果左边为真,右边不参与运算,如果左边为假,那么右边参与运算。
注:逻辑运算符操作的都是boolean类型的变量。
5.位运算符:
运算符 | 运算 | 范例 |
---|---|---|
<< | 左移 | 3 << 2 = 12 —> 3 2 2 =12 |
>> | 右移 | 3 >> 1 = 1 —> 3 / 2 = 1 |
>>> | 无符号右移 | 3 >>> 1 = 1 —> 3 / 2 = 1 |
& | 与运算 | 6 & 3 = 2 |
| | 或运算 | 6 | 3 = 7 |
^ | 异或运算 | 6 ^ 3 = 5 |
~ | 取反运算 | ~ 6 = -7 |
位运算符的细节: | |
---|---|
<< | 空位补0,被移除的高位丢弃,空缺位补0。 |
>> | 被移位的二进制最高位是0,右移后,空缺位补0;最高位是1,空缺位补1。 |
>>> | 被移位二进制最高位无论是0或者是1,空缺位都用0补。 |
& | 二进制位进行&运算,只有1&1时结果是1,否则是0。 |
| | 二进制位进行 | 运算,只有0 | 0时结果是0,否则是1。 |
^ | 相同二进制位进行 ^ 运算,结果是0;1^1=0 , 0^0=0不相同二进制位 ^ 运算结果是1。1^0=1 , 0^1=1 |
~ | 正数取反,各二进制码按补码各位取反;负数取反,各二进制码按补码各位取反。 |
位运算符练习:
6.三元运算符:
格式:(条件表达式)?表达式1:表达式2;
条件表达式为true时,运算后的结果是表达式1;
条件表达式为false时,运算后的结果是表达式2.
注:表达式1和表达式2为同种类型
三元运算符与if-else的联系与区别:
- 三元运算符可简化if-else语句
- 三元运算符要求必须返回一个结果。
- if后的代码块可有多个语句