1.分隔符
分隔符又称标点符号,作用与标点符号一样,都是起分隔作用。
分隔符 | 名称 |
( ) | 圆括号 |
{ } | 花括号 |
[ ] | 方括号 |
; | 分号 |
, | 逗号 |
. | 圆点 |
... | 省略号 |
@ | at符号 |
:: | 双冒号 |
2.一元运算符
运算符 | 名称 | 描述 | 例子 | 结果 |
---|---|---|---|---|
+x | 取正 | 返回其操作数的值。 | int x = +1; | x = 1 |
–x | 取负 | 对其操作数的数值取负。 | int x = -1; | x = -1 |
++x | 前缀递增 | 将 x 的值先加 1 赋值给 x 本身后再使用 | int x = 1; int y = ++x; | x = 2 y = 2 |
x++ | 后缀递增 | 将 x 的值先使用再加 1 赋值给 x 本身 | int x = 1; int y = x++; | x = 2 y = 1 |
––x | 前缀递减 | 将 x 的值先减 1 赋值给 x 本身后再使用 | int x = 1; int y = ––x; | x = 0 y = 0 |
x–– | 后缀递减 | 将 x 的值先使用再减 1 赋值给 x 本身 | int x = 1; int y = x––; | x = 0 y = 1 |
3.算术运算符
运 算 符 | 名 称 | 描述 |
---|---|---|
x + y | 加 | 求 x 加 y 的和,还可用于字符串连接操作 |
x - y | 减 | 求 x 减 y 的差 |
x * y | 乘 | 求 x 乘以 y 的积 |
x / y | 除 | 求 x 除以 y 的商 |
x % y | 取余 | 求 x 除以 y 的余数 |
4.赋值运算符
运 算 符 | 名称 | 描述 |
---|---|---|
x = 3 | 赋值 | 无等价 |
x += y | 加赋值 | 等价于 x = x + y |
x -= y | 减赋值 | 等价于 x = x – y |
x *= y | 乘赋值 | 等价于 x = x * y |
x /= y | 除赋值 | 等价于 x = x / y |
x %= y | 取余赋值 | 等价于 x = x % y |
x &= y | 按位与赋值 | 等价于 x = x & y |
x |= y | 按位或赋值 | 等价于 x = x | y |
x ^= y | 按位异或赋值 | 等价于 x = x ^ y |
x <<= y | 有符号左移位赋值 | 等价于 x = x << y |
x >>= y | 有符号右移位赋值 | 等价于 x = x >> y |
x >>>= y | 无符号右移位赋值 | 等价于 x = x >>> y |
5.相等性比较运算符
相等运算符(==
)
操作数 | 描述 |
数字类型 | 如果两个操作数的值相等,那== 的结果为true ;否则,结果为false 。 |
引用类型或null | 如果两个操作数的值都为null 或都引用同一个对象或数组,那== 的结果为true ;否则,结果为false 。 |
布尔类型 | 如果两个操作数的值都为true 或都为false ,那== 的结果为true ;否则,结果为false 。 |
不相等运算符(!=
)
操作数 | 描述 |
数字类型 | 如果两个操作数的值相等,那!= 的结果为false ;否则,结果为true 。 |
引用类型或null | 如果两个操作数的值都为null 或都引用同一个对象或数组,那!= 的结果为false ;否则,结果为true 。 |
布尔类型 | 如果两个操作数的值都为true 或都为false ,那!= 的结果为false ;否则,结果为true 。 |
6.比较运算符
运算符 | 名称 | 描述 |
---|---|---|
x < y | 小于 | 只支持左右两边操作数是数值类型。如果前面变量的值小于后面变量的值,则返回 true ,否则 false 。 |
x <= y | 小于或等于 | 只支持左右两边操作数是数值类型。如果前面变量的值小于或等于后面变量的值, 则返回 true ,否则 false 。 |
x > y | 大于 | 只支持左右两边操作数是数值类型。如果前面变量的值大于后面变量的值, 则返回 true ,否则 false 。 |
x >= y | 大于或等于 | 只支持左右两边操作数是数值类型。如果前面变量的值大于等于后面变量的值, 则返回 true ,否则 false 。 |
7.布尔逻辑运算符
&
运算符与 &&
运算符的区别是:如果左侧操作数的计算结果为 true
,&&
运算符才会计算右侧操作数。而 &
运算符 无论左侧操作数的计算结果是 true
或 false
,都会计算右侧操作数。因此, &&
运算符 的性能比 &
运算符 高。x | y
运算符与 x || y
运算符的区别类似。
运算符 | 名称 | 描述 | 例子 | 结果 |
---|---|---|---|---|
!x | 逻辑非(NOT) | x 为 true 时,值为 false,x 为 false 时,值为 true | !(2>4) | true |
x & y | 逻辑与(AND) | xy 全为 true 时,计算结果为 true,否则为 false | 1<2&3<5 | true |
x | y | 逻辑或(OR) | xy 全为 false 时,计算结果为 false,否则为 true | 1>2|3>5 | false |
x ^ y | 逻辑异或(XOR) | xy 其中一个是 true ,另一个是 false 时,计算结果为 true,否则为 false | 1>2|3>2 | true |
x && y | 条件与(AND) | xy 全为 true 时,计算结果为 true,否则为 false。 | 2>1&&3<4 | true |
x || y | 条件或(OR) | xy 全为 false 时,计算结果为 false,否则为 true。 | 2<1||3>4 | false |
8.位运算符
运算符 | 名称 | 例子 | 结果 |
---|---|---|---|
~x | 按位非(NOT) | ~ 4 | -5 |
x & y | 按位与(AND) | 4 & 5 | 4 |
x | y | 按位或(OR) | 4 | 5 | 5 |
x ^ y | 按位异或(XOR) | 4 ^ 5 | 1 |
x << y | 有符号左移位 | 9 << 2 | 36 |
x >> y | 有符号右移位 | 8 >> 1 | 4 |
x >>> y | 无符号右移位 | 8 >>> 1 | 4 |
9.三元条件运算符
运算符 | 名称 | 描述 |
x ? y : z | 三元条件运算符 | 如果 x 为 true,则计算 y;如果 x 为 false,则计算 z。 |
10.类型运算符
运算符 | 名称 | 描述 |
E instanceof T | 类型比较运算符 | 如果 E 表达式的类型与 T 类型兼容,则返回 true ,否则,返回 false 。 |
E instanceof T a | 模式匹配运算符 | 如果 E 表达式的类型与 T 类型兼容,则返回 true 并将 E 表达式的值赋值给变量 a ;否则,返回 false 。 |
(T)E | 强制转换(cast)表达式 | 将表达式 E 的结果显式转换为类型 T 。 |
(T & I)E | 强制转换(cast)表达式 | 将表达式 E 的结果显式转换为类型列表 T & I 。 |
11.Lambda运算符
运算符 | 名称 | 描述 |
-> | 箭头运算符或Lambda运算符 | (参数列表) -> { Lambda表达式主体; } |
-> | 箭头运算符 | 用于 switch 表达式 |
原创文章,作者:huoxiaoqiang,如若转载,请注明出处:https://www.huoxiaoqiang.com/java/javalang/2471.html