Java 运算符
Java 运算符
运算符用于对变量和值执行操作。
在下面的示例中,我们使用 +
运算符将两个值相加:
+
运算符通常用于将两个值相加,如上例所示,但它也可用于将变量和值相加,或将变量和另一个变量相加:
实例
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 | 试一试 » |
Java 赋值运算符
赋值运算符用于为变量赋值。
在下面的示例中,我们使用赋值运算符(=
) 将值10赋给一个名为x的变量:
加法赋值运算符 (+=
) 将值添加到变量:
所有赋值运算符的列表:
运算符 | 实例 | 等同于 | 试一试 |
---|---|---|---|
= | 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 | 试一试 » |
Java 关系运算符
关系运算符用于比较两个值:
运算符 | 名称 | 实例 | 试一试 |
---|---|---|---|
== | 等于 | x == y | 试一试 » |
!= | 不等于 | x != y | 试一试 » |
> | 大于 | x > y | 试一试 » |
< | 小于 | x < y | 试一试 » |
>= | 大于或等于 | x >= y | 试一试 » |
<= | 小于或等于 | x <= y | 试一试 » |
Java 逻辑运算符
逻辑运算符用于确定变量或值之间的逻辑:
运算符 | 名称 | 描述 | 实例 | 试一试 |
---|---|---|---|---|
&& | 逻辑与 | 如果两个语句都为true,则返回true | x < 5 && x < 10 | 试一试 » |
|| | 逻辑或 | 如果其中一条语句为true,则返回true | x < 5 || x < 4 | 试一试 » |
! | 逻辑非 | 反转结果,如果结果为真则返回false | !(x < 5 && x < 10) | 试一试 » |
Java 位运算符
位运算符用于使用整数或长整数的位执行二进制逻辑。
运算符 | 描述 | 例子 | 等同于 | 结果 | 十进制 |
---|---|---|---|---|---|
& | AND - 如果两个位都为 1,则将每个位设置为 1 | 5 & 1 | 0101 & 0001 | 0001 | 1 |
| | OR - 如果两个位中的任何一个为 1,则将每个位设置为 1 | 5 | 1 | 0101 | 0001 | 0101 | 5 |
~ | NOT - 反转所有位 | ~ 5 | ~0101 | 1010 | 10 |
^ | XOR - 如果两个位中只有一个为 1,则将每个位设置为 1 | 5 ^ 1 | 0101 ^ 0001 | 0100 | 4 |
<< | Zero-fill left shift - 通过从右侧推入零并让最左边的位脱落来向左移动 | 9 << 1 | 1001 << 1 | 0010 | 2 |
>> | Signed right shift - 通过从左侧推入最左侧位的副本并让最右侧位脱落来右移 | 9 >> 1 | 1001 >> 1 | 1100 | 12 |
>>> | Zero-fill right shift - 通过从左边推入零并让最右边的位脱落来右移 | 9 >>> 1 | 1001 >>> 1 | 0100 | 4 |
注释: 上面的按位示例使用 4 位无符号示例,但 Java 使用 32 位有符号整数和 64 位有符号长整数。 因此,在 Java 中,~5 不会返回 10。它会返回 -6。 ~00000000000000000000000000000101 将返回 1111111111111111111111111111010
在 Java 中,9 >> 1 不会返回 12。它将返回 4。00000000000000000000000000001001 >> 1 将返回 00000000000000000000000000000100