在Java中,运算符是用于执行各种操作的关键符号,它们可以处理变量和值,实现数学计算、逻辑判断、位操作等功能。以下是Java运算符的详细解析:
一、算术运算符
- 基本四则运算符:
+
:加法运算,也可用于字符串连接。-
:减法运算,也可用作一元负号。*
:乘法运算。/
:除法运算,整数除法会截断小数部分,至少一个操作数为浮点数时执行浮点除法。%
:取模运算,返回两数相除的余数。
- 自增/自减运算符:
++
:自增运算符,分为前缀(++i
,先增后用)和后缀(i++
,先用后增)。--
:自减运算符,规则与自增运算符类似。
二、关系运算符
关系运算符用于比较两个值的关系,返回布尔值(true
或false
):
==
:等于。!=
:不等于。>
:大于。<
:小于。>=
:大于等于。<=
:小于等于。
三、逻辑运算符
逻辑运算符用于布尔值的组合,返回布尔结果:
&&
:逻辑与,两侧均为true
时返回true
,短路求值。||
:逻辑或,至少一侧为true
时返回true
,短路求值。!
:逻辑非,取反。
四、赋值运算符
赋值运算符用于将值赋给变量:
=
:简单赋值。+=
、-=
、*=
、/=
、%=
:复合赋值运算符,将运算结果赋给左操作数。
五、位运算符
位运算符用于执行位级别的操作:
&
:按位与。|
:按位或。^
:按位异或。~
:按位取反。<<
:左移。>>
:右移(算术右移,保留符号位)。>>>
:无符号右移(逻辑右移,高位补0)。
六、三元运算符
三元运算符是Java中唯一的三目运算符,格式为条件 ? 值1 : 值2
,根据条件返回两个值中的一个。
七、其他运算符
instanceof
:用于检查对象是否是特定类的实例。- 类型转换运算符:用于将值从一种数据类型转换为另一种数据类型,如强制类型转换。
运算符优先级与结合性
- 优先级:运算符的优先级决定了表达式的计算顺序。例如,乘除运算符的优先级高于加减运算符。
- 结合性:当运算符优先级相同时,结合性决定了表达式的计算方向。例如,赋值运算符的结合性是从右向左。