运算符

运算符是一种特殊的符号,用以表示数据的运算、赋值和比较等。

  • 算术运算符
  • 赋值运算符
  • 比较运算符(关系运算符)
  • 逻辑运算符
  • 位运算符
  • 三元运算符

1.算术运算符:

  • 正号:+

正号.png

  • 负号:-

负号.png

  • 加:+

加.png

  • 减:-

减.png

  • 乘:*

乘.png

  • 除:/

除.png

  • 取模(取余):%

取模(取余).png

  • 自增(前):+ + 先自增1,后运算
    自增(后):+ + 先运算,后自增1

自增.png

  • 自减(前):- - 先自减1,后运算
    自减(后):- - 先运算,后自减1

自减.png

  • 字符串连接:+

字符串连接.png

2.赋值运算符:

  • =
    当“=”两侧数据类型不一致时,可以使用自动类型转换或使用强制类型转换原则进行处理。
    支持连续赋值。

赋值1.png

  • **+= -= = /= %=

赋值2.png

3.比较运算符:

结论:1.比较运算符的结果都是boolean型,也就是要么是true,要么是false。

  1. 2.比较运算符**“==”**不能误写成**“=”**
  • 相等于:==
  • 不等于:!=
  • 小于:<
  • 大于:>
  • 小于等于:<=
  • 大于等于:>=
  • 检查是否是类的对象:instanceof

比较运算符.png

4.逻辑运算符:

  • 逻辑与:& 短路与:&&

&与&&.png

  • 逻辑或:| 短路或:||

或.png

  • 逻辑非:!
  • 逻辑异或:^ | 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
~ 正数取反,各二进制码按补码各位取反;负数取反,各二进制码按补码各位取反。

位运算符.png

位运算符练习:
位运算符练习.png

6.三元运算符:

格式:(条件表达式)?表达式1:表达式2;

条件表达式为true时,运算后的结果是表达式1;

条件表达式为false时,运算后的结果是表达式2.

注:表达式1和表达式2为同种类型

三元运算符与if-else的联系与区别:

  • 三元运算符可简化if-else语句
  • 三元运算符要求必须返回一个结果。
  • if后的代码块可有多个语句

三元运算符.png

拓展:运算符优先级:

运算符优先级.png