Java 运算符
1. 运算符概述
- 运算符:用于对变量或值进行操作的符号。
- 操作数:运算符操作的实体(变量或值)。
- 分类:
- 算术运算符
- 关系运算符
- 位运算符
- 逻辑运算符
- 赋值运算符
- 其他运算符
2. 算术运算符
-
作用:用于数学运算。
-
运算符:
运算符 描述 示例 +
加法 a + b
-
减法 a - b
*
乘法 a * b
/
除法 a / b
%
取余 a % b
++
自增(加 1) a++
或++a
--
自减(减 1) a--
或--a
-
示例:
int a = 5, b = 2; System.out.println(a + b); // 7 System.out.println(a % b); // 1
3. 关系运算符
-
作用:用于比较两个值,返回布尔值(
true
或false
)。 -
运算符:
运算符 描述 示例 ==
等于 a == b
!=
不等于 a != b
>
大于 a > b
<
小于 a < b
>=
大于或等于 a >= b
<=
小于或等于 a <= b
-
示例:
int a = 5, b = 2; System.out.println(a > b); // true
4. 位运算符
-
作用:对整数的二进制位进行操作。
-
运算符:
运算符 描述 示例 &
按位与 a & b
` ` 按位或 ^
按位异或 a ^ b
~
按位取反 ~a
<<
左移 a << 1
>>
右移 a >> 1
>>>
无符号右移 a >>> 1
-
示例:
int a = 5; // 二进制 0101 System.out.println(a << 1); // 10 (二进制 1010)
5. 逻辑运算符
-
作用:用于组合多个条件,返回布尔值。
-
运算符:
运算符 描述 示例 &&
逻辑与(短路与) a && b
` ` !
逻辑非 !a
-
短路特性:
&&
:如果第一个条件为false
,不再检查第二个条件。||
:如果第一个条件为true
,不再检查第二个条件。
-
示例:
boolean a = true, b = false; System.out.println(a && b); // false
6. 赋值运算符
-
作用:为变量赋值。
-
运算符:
运算符 描述 示例 =
简单赋值 a = b
+=
加后赋值 a += b
-=
减后赋值 a -= b
*=
乘后赋值 a *= b
/=
除后赋值 a /= b
%=
取余后赋值 a %= b
-
示例:
int a = 5; a += 2; // a = 7
7. 其他运算符
-
条件运算符(三元运算符):
- 语法:
变量 = (条件) ? 值1 : 值2
- 示例:
int age = 15; String result = (age >= 18) ? "成年" : "未成年"; System.out.println(result); // 未成年
- 语法:
-
instanceof
运算符:- 用于检查对象是否属于某个类或接口。
- 示例:
String name = "Java"; boolean isString = name instanceof String; // true
8. 运算符优先级
-
优先级规则:
- 优先级高的运算符先执行。
- 相同优先级时,按从左到右的顺序执行。
-
优先级表(从高到低):
类别 运算符 结合性 后缀 ()
[]
.
左到右 一元 +
-
++
--
!
~
右到左 乘性 *
/
%
左到右 加性 +
-
左到右 移位 <<
>>
>>>
左到右 关系 <
>
<=
>=
instanceof
左到右 相等 ==
!=
左到右 逻辑与 &&
左到右 逻辑或 ` 条件 ? :
右到左 赋值 =
+=
-=
*=
/=
%=
右到左
9. 总结
- 算术运算符:用于数学运算。
- 关系运算符:用于比较值。
- 位运算符:用于二进制位操作。
- 逻辑运算符:用于组合条件。
- 赋值运算符:用于赋值操作。
- 其他运算符:包括三元运算符和
instanceof
。 - 优先级:运算符的执行顺序由优先级决定。