本文最后更新于76 天前,如有错误请发送邮件到guzhougongzuoshi@aliyun.com
快速跳转:知识速查栏目
java运算符
- 算数运算符
- 赋值运算符
- 关系运算符
- 逻辑运算符
- 位运算符
- 条件运算符
- 扩展赋值运算符
1. 算数运算符(Arithmetic Operators)
- 作用:用于基本的数学运算,比如加法、减法、乘法等。
- 运算符:
+
(加法):例如5 + 3
结果是8
。-
(减法):例如5 - 3
结果是2
。*
(乘法):例如5 * 3
结果是15
。/
(除法):例如6 / 3
结果是2
。注意整数除法会舍去小数部分。%
(取模/余数):例如5 % 3
结果是2
,它返回的是余数。
- 优先级:乘法(
*
)、除法(/
)和取模(%
)的优先级比加法(+
)和减法(-
)高。在没有括号的情况下,先执行乘、除、取模,再执行加、减。例如:int result = 5 + 3 * 2; // 输出 11(先执行 3*2,后执行 5+6)
2. 赋值运算符(Assignment Operators)
- 作用:将右边的值赋给左边的变量。
- 运算符:
=
:简单的赋值运算符,例如int x = 5;
,将 5 赋值给变量x
。
- 优先级:赋值运算符的优先级是非常低的,通常最后执行。例如:
int x = 3 + 5 * 2; // 结果是 13,先进行加法和乘法,然后再赋值
3. 关系运算符(Relational Operators)
- 作用:用于比较两个值,返回布尔值(
true
或false
)。 - 运算符:
==
(等于):比较两个值是否相等。!=
(不等于):比较两个值是否不相等。>
(大于):例如5 > 3
结果为true
。<
(小于):例如5 < 3
结果为false
。>=
(大于等于):例如5 >= 5
结果为true
。<=
(小于等于):例如3 <= 5
结果为true
。
- 优先级:关系运算符的优先级低于算数运算符,但高于逻辑运算符。例如:
int x = 5; int y = 10; boolean result = x + 5 < y; // 结果为 true,因为 5 + 5 = 10,不小于 10
4. 逻辑运算符(Logical Operators)
- 作用:用于组合多个布尔表达式,结果为布尔值。
- 运算符:
&&
(逻辑与):当两个表达式都为true
时,结果为true
。||
(逻辑或):当任一表达式为true
时,结果为true
。!
(逻辑非):取反运算符,例如!true
结果为false
。
- 优先级:逻辑非(
!
)的优先级高于逻辑与(&&
),而逻辑与的优先级高于逻辑或(||
)。例如:boolean result = !(5 > 3) || (3 < 5 && 2 == 2); // 输出 true
5. 位运算符(Bitwise Operators)
- 作用:操作二进制位,通常用于底层编程或硬件编程。
- 运算符:
&
(按位与):按位比较,两个位都为1
才为1
。|
(按位或):按位比较,任一位为1
则结果为1
。^
(按位异或):按位比较,不同位返回1
,相同位返回0
。~
(按位取反):将每个二进制位反转。<<
(左移):将二进制位左移,右侧补零。>>
(右移):将二进制位右移,左侧用符号位填充。
- 优先级:位运算符的优先级较低,一般低于关系运算符。例如:
int x = 5 << 1; // 输出 10,将 5 左移一位,相当于乘以 2
6. 条件运算符(三元运算符)
- 作用:简化条件判断的代码。格式:
condition ? value1 : value2
。 - 运算符:
? :
(条件运算符):根据条件返回不同的值。- 示例:
int x = 5; int y = (x > 3) ? 10 : 20; // 如果 x > 3 成立,y 的值为 10,否则为 20
- 优先级:条件运算符的优先级非常低,低于几乎所有其他运算符。
7. 扩展赋值运算符(Compound Assignment Operators)
- 作用:将算数运算和赋值运算合并在一起,简化代码。
- 运算符:
+=
:加法赋值,例如x += 5
等同于x = x + 5
。-=
:减法赋值,例如x -= 3
等同于x = x - 3
。*=
:乘法赋值,例如x *= 2
等同于x = x * 2
。/=
:除法赋值,例如x /= 2
等同于x = x / 2
。%=
:取模赋值,例如x %= 3
等同于x = x % 3
。
- 优先级:扩展赋值运算符的优先级与赋值运算符相同,都是非常低的。例如:
int x = 5; x += 3 * 2; // 结果为 11,因为先进行 3*2 的乘法运算,然后赋值给 x
运算符优先级总结:
在所有这些运算符中,运算顺序的基本规则如下:
- 括号:
()
内的内容总是优先执行。 - 单目运算符:如逻辑非
!
、取反~
等。 - 算数运算符:
*
、/
、%
优先于+
、-
。 - 关系运算符:如
>
、<
等。 - 逻辑运算符:
&&
比||
优先。 - 赋值和扩展赋值:
=
和+=
,这些总是最后执行。