Java 中的运算符主要有以下几种类型:

1. 算术运算符

加法+
减法:-
乘法:*
除法:/
取模:%
eg:13 % 2=1

2. 赋值运算符

=+=-=*=/=%= 等。
i++和++i

`i++` 是后缀增量运算符,它先返回 `i` 的当前值,然后再将 `i` 的值增加 1。例如,如果 `i` 的初始值为 3,则执行 `j = i++` 后,`j` 的值为 3,`i` 的值为 4。
`++i` 是前缀增量运算符,它先将 `i` 的值增加 1,然后再返回增加后的值。例如,如果 `i` 的初始值为 3,则执行 `j = ++i` 后,`j` 的值为 4,`i` 的值也为 4。

3. 比较运算符

==!=>>=<<=

4. 逻辑运算符

常见的逻辑运算符包括 &&||!

5. 位运算符

用于对二进制位进行操作,并返回一个整数值。常见的位运算符包括 &|^~<<>>>>>

6. 条件运算符

也称为三元运算符,用于根据条件选择两个值中的一个。常见的条件运算符为 ?:,其语法为 condition ? value1 : value2,如果条件为真,则返回 value1,否则返回 value2

7. instanceof 运算符

用于测试对象是否为特定类或其子类的实例。常见的用法为 object instanceof ClassName,如果 object 是 ClassName 类或其子类的实例,则返回 true,否则返回 false。

8. 其他运算符

Java 还有一些其他的运算符,例如字符串连接运算符 +,类型转换运算符 (type),数组访问运算符 [] 等。

优先级🙋‍♂️

  1. 一元运算符:例如取反运算符 !,正负号运算符 + 和 -,以及前缀增量和减量运算符 ++ 和 --
  2. 乘法和除法运算符:例如乘法运算符 *,除法运算符 / 和取模运算符 %
  3. 加法和减法运算符:例如加法运算符 + 和减法运算符 -
  4. 移位运算符:例如左移位运算符 <<,右移位运算符 >> 和无符号右移位运算符 >>>
  5. 按位与运算符:例如按位与运算符 &
  6. 按位异或运算符:例如按位异或运算符 ^
  7. 按位或运算符:例如按位或运算符 |
  8. 逻辑与运算符:例如逻辑与运算符 &&
  9. 逻辑或运算符:例如逻辑或运算符 ||
  10. 三元条件运算符:例如条件运算符 ? :
  11. 赋值运算符:例如赋值运算符 =,加等于运算符 +=,减等于运算符 -=,乘等于运算符 *=,除等于运算符 /= 和取模等于运算符 %= 等。

位运算

Java提供了两种右移运算符:“>>” 和">>>"。其中,“>>”被称为有符号右移运算符,“>>>”被称为无符号右移运算符,它们的功能是将参与运算的对象对应的二进制数右移指定的位数。
二者的不同点在于“>>”在执行右移操作时,若参与运算的数字为正数,则在高位补0;若为负数,则在高位补1。而“>>>”则不同,无论参与运算的数字为正数或为负数,在执运算时,都会在高位补0。

1左移1次:1 << 1 = 00000001变为 00000010 = 2 
-1左移1次:1 << 1 = 10000001变为 10000010 = -2 

1无符号左移1次:1 << 1 = 00000001变为 00000010 = 2 
-1左移1次:1 << 1 = 10000001变为 00000010 = -2 

-5无符号右移1次 -5 >>> 1 = 2147483645