Java 的运算符可以分为几类,以下列出了一些主要类别和对应的运算符,并非详尽无遗,但涵盖了大部分常用的运算符:
1. 算术运算符:
+
(加法)-
(减法)*
(乘法)/
(除法) 整数相除结果为整数,小数部分被截断。%
(模运算/求余) 返回除法运算的余数。++
(自增)i++
(后缀),++i
(前缀)--
(自减)i--
(后缀),--i
(前缀)
2. 比较运算符 (关系运算符):
==
(等于)!=
(不等于)>
(大于)<
(小于)>=
(大于等于)<=
(小于等于)
3. 逻辑运算符:
&&
(逻辑与) 短路与,如果第一个操作数为false
,则第二个操作数不会被评估。||
(逻辑或) 短路或,如果第一个操作数为true
,则第二个操作数不会被评估。!
(逻辑非)
4. 位运算符:
&
(按位与)|
(按位或)^
(按位异或)~
(按位非)<<
(左移)>>
(右移) 算术右移,符号位一起移动。>>>
(无符号右移) 逻辑右移,高位补0。
5. 赋值运算符:
=
(赋值)+=
,-=
,*=
,/=
,%=
,&=
,|=
,^=
,<<=
,>>=
,>>>=
(组合赋值运算符)
6. 其他运算符:
.
(成员访问运算符) 访问对象的成员变量或方法。[]
(数组访问运算符) 访问数组元素。()
(方法调用运算符) 调用方法。new
(创建对象运算符) 创建一个新的对象。instanceof
(类型检查运算符) 检查一个对象是否属于某个类或接口。?:
(三元运算符) 条件表达式(condition) ? value1 : value2
运算符优先级:
Java 的运算符具有不同的优先级,决定了表达式中运算符的计算顺序。 优先级高的运算符先计算。 可以使用括号 ()
来改变运算符的优先级。 建议查阅 Java 语言规范或权威文档获得完整的运算符优先级表。
注意: ++
和 --
运算符有前缀和后缀两种形式,它们的区别在于操作数何时被递增或递减。 前缀形式先执行递增/递减操作,然后返回结果;后缀形式先返回结果,然后执行递增/递减操作。