扫码一下
查看教程更方便
运算符用于对变量和值执行操作。
在下面的示例中,我们使用 +
运算符将两个值相加:
int x = 100 + 50;
虽然 +
运算符经常用于将两个值相加,就像上面的例子一样,但它也可以用于将一个变量和一个值相加,或者一个变量和另一个变量:
int sum1 = 100 + 50; // 150 (100 + 50) int sum2 = sum1 + 250; // 400 (150 + 250) int sum3 = sum2 + sum2; // 800 (400 + 400)
Java 将运算符分为以下几组:
算术运算符用于执行常见的数学运算。
运算符 | 名称 | 描述 | 示例 | 尝试 |
---|---|---|---|---|
+ | 加 | 将两个值相加 | x + y | 运行示例 |
- | 减 | 从另一个值中减去一个值 | x - y | 运行示例 |
* | 乘 | 将两个数相乘 | x * y | 运行示例 |
/ | 除 | 将一个值除以另一个值 | x / y | 运行示例 |
% | 模除 | 返回除法余数 | x % y | 运行示例 |
++ | 自增 | 将变量的值增加 1 | ++x | 运行示例 |
-- | 自减 | 将变量的值减 1 | --x | 运行示例 |
赋值运算符用于为变量赋值。
在下面的示例中,我们使用赋值运算符 (=) 将值 10 分配给名为 x 的变量:
int x = 10;
加法赋值运算符 (+=) 向变量添加一个值:
int x = 10; x += 5;
所有赋值运算符的列表:
运算符 | 示例 | 等价于 | 尝试 |
---|---|---|---|
= | x = 5 | x = 5 | 运行示例 |
+= | x += 3 | x = x + 3 | 运行示例 |
-= | x -= 3 | x = x - 3 | 运行示例 |
*= | x *= 3 | x = x * 3 | 运行示例 |
/= | x /= 3 | x = x / 3 | 运行示例 |
%= | x %= 3 | x = x % 3 | 运行示例 |
&= | x &= 3 | x = x & 3 | 运行示例 |
|= | x |= 3 | x = x | 3 | 运行示例 |
^= | x ^= 3 | x = x ^ 3 | 运行示例 |
>>= | x >>= 3 | x = x >> 3 | 运行示例 |
<<= | x <<= 3 | x = x << 3 | 运行示例 |
比较运算符用于比较两个值:
运算符 | 名称 | 示例 | 尝试 |
---|---|---|---|
== | 等于 | x == y | 运行示例 |
!= | 不等于 | x != y | 运行示例 |
> | 大于 | x > y | 运行示例 |
< | 小于 | x < y | 运行示例 |
>= | 大于或等于 | x >= y | 运行示例 |
<= | 小于或等于 | x <= y | 运行示例 |
逻辑运算符用于确定变量或值之间的逻辑:
运算符 | 名称 | 描述 | 示例 | 尝试 |
---|---|---|---|---|
&& | 逻辑与 | 如果两个语句都为真,则返回真 | x < 5 && x < 10 | 运行示例 |
|| | 逻辑或 | 如果其中一个语句为真,则返回真 | x < 5 || x < 4 | 运行示例 |
! | 逻辑非 | 反转结果,如果结果为真则返回假 | !(x < 5 && x < 10) | 运行示例 |
当多个运算符出现在一个表达式中,谁先谁后呢?这就涉及到运算符的优先级别的问题。在一个多运算符的表达式中,运算符优先级不同会导致最后得出的结果差别甚大。
例如,(1+3)+(3+2)*2,这个表达式如果按加号最优先计算,答案就是 18,如果按照乘号最优先,答案则是 14。
再如,x = 7 + 3 * 2;这里x得到13,而不是20,因为乘法运算符比加法运算符有较高的优先级,所以先计算3 * 2得到6,然后再加7。
下表中具有最高优先级的运算符在的表的最上面,最低优先级的在表的底部。
类别 | 操作符 | 关联性 |
---|---|---|
后缀 | () [] . (点操作符) | 左到右 |
一元 | expr++ expr-- | 从左到右 |
一元 | ++expr --expr + - ~ ! | 从右到左 |
乘性 | * /% | 左到右 |
加性 | + - | 左到右 |
移位 | >> >>> << | 左到右 |
关系 | > >= < <= | 左到右 |
相等 | == != | 左到右 |
按位与 | & | 左到右 |
按位异或 | ^ | 左到右 |
按位或 | | | 左到右 |
逻辑与 | && | 左到右 |
逻辑或 | | | | 左到右 |
条件 | ?: | 从右到左 |
赋值 | = + = - = * = / =%= >> = << =&= ^ = | = |
逗号 | , | 左到右 |