📜  java :: 运算符 - Java (1)

📅  最后修改于: 2023-12-03 15:01:28.053000             🧑  作者: Mango

Java 运算符

Java 运算符是用于执行数学或逻辑运算的符号。Java 中有多种类型的运算符,包括算术运算符、位运算符、关系运算符、逻辑运算符等。

算数运算符

算数运算符用于执行基本的数学运算,如加、减、乘、除等。Java 中的算术运算符如下表所示:

| 运算符 | 描述 | 实例 | |--------|--------|--------| | + | 加法 | 4 + 2 = 6 | | - | 减法 | 4 - 2 = 2 | | * | 乘法 | 4 * 2 = 8 | | / | 除法 | 4 / 2 = 2 | | % | 取模(余数) | 5 % 2 = 1 |

int a = 4;
int b = 2;
System.out.println(a + b); // 输出 6
System.out.println(a - b); // 输出 2
System.out.println(a * b); // 输出 8
System.out.println(a / b); // 输出 2
System.out.println(5 % 2); // 输出 1
关系运算符

关系运算符用于比较两个值。Java 中的关系运算符如下表所示:

| 运算符 | 描述 | 实例 | |--------|--------|--------| | == | 等于 | 4 == 2(false) | | != | 不等于 | 4 != 2(true) | | > | 大于 | 4 > 2(true) | | < | 小于 | 4 < 2(false) | | >= | 大于等于 | 4 >= 2(true) | | <= | 小于等于 | 4 <= 2(false) |

int a = 4;
int b = 2;
System.out.println(a == b); // 输出 false
System.out.println(a != b); // 输出 true
System.out.println(a > b); // 输出 true
System.out.println(a < b); // 输出 false
System.out.println(a >= b); // 输出 true
System.out.println(a <= b); // 输出 false
逻辑运算符

逻辑运算符用于连接两个或多个条件。Java 中的逻辑运算符如下表所示:

| 运算符 | 描述 | 实例 | |--------|--------|--------| | && | 逻辑与 | (4 > 2) && (5 < 6)(true) | | || | 逻辑或 | (4 > 2) || (5 > 6)(true) | | ! | 逻辑非 | !(4 > 2)(false) |

int a = 4;
int b = 2;
System.out.println((a > b) && (a + b > 5)); // 输出 true
System.out.println((a < b) || (a - 1 < b)); // 输出 false
System.out.println(!(a > b)); // 输出 false
位运算符

位运算符用于执行位操作。Java 中的位运算符如下表所示:

| 运算符 | 描述 | 实例 | |--------|--------|--------| | & | 按位与 | 4 & 2(0) | | | | 按位或 | 4 | 2(6) | | ^ | 按位异或 | 4 ^ 2(6) | | ~ | 按位取反 | ~4(-5) | | << | 左移 | 4 << 2(16) | | >> | 右移 | 4 >> 2(1) | | >>> | 无符号右移 | 4 >>> 2(1) |

int a = 4;
int b = 2;
System.out.println(a & b); // 输出 0
System.out.println(a | b); // 输出 6
System.out.println(a ^ b); // 输出 6
System.out.println(~a); // 输出 -5
System.out.println(a << 2); // 输出 16
System.out.println(a >> 2); // 输出 1
System.out.println(a >>> 2); // 输出 1
赋值运算符

赋值运算符用于将一个值赋给一个变量。Java 中的赋值运算符如下表所示:

| 运算符 | 描述 | 实例 | |--------|--------|--------| | = | 简单赋值 | a = 4 | | += | 加等于 | a += 2(a = a + 2) | | -= | 减等于 | a -= 2(a = a - 2) | | *= | 乘等于 | a *= 2(a = a * 2) | | /= | 除等于 | a /= 2(a = a / 2) | | %= | 取模等于 | a %= 2(a = a % 2) | | <<= | 左移等于 | a <<= 2(a = a << 2) | | >>= | 右移等于 | a >>= 2(a = a >> 2) | | &= | 按位与等于 | a &= 2(a = a & 2) | | |= | 按位或等于 | a |= 2(a = a | 2) | | ^= | 按位异或等于 | a ^= 2(a = a ^ 2) |

int a = 4;
a += 2; // a = a + 2;
System.out.println(a); // 输出 6
a -= 2; // a = a - 2;
System.out.println(a); // 输出 4
a *= 2; // a = a * 2;
System.out.println(a); // 输出 8
a /= 2; // a = a / 2;
System.out.println(a); // 输出 4
a %= 2; // a = a % 2;
System.out.println(a); // 输出 0
a <<= 2; // a = a << 2;
System.out.println(a); // 输出 16
a >>= 2; // a = a >> 2;
System.out.println(a); // 输出 4
a &= 2; // a = a & 2;
System.out.println(a); // 输出 0
a |= 2; // a = a | 2;
System.out.println(a); // 输出 2
a ^= 2; // a = a ^ 2;
System.out.println(a); // 输出 0
运算符优先级

在 Java 中,每个运算符都有其优先级。在表达式中,先进行优先级高的运算,再进行优先级低的运算。当有多个优先级相同的运算符时,按照从左到右的顺序计算。下面是 Java 中运算符的优先级,按照从高到低的顺序排列:

  1. ()
  2. ++, -- (前缀)
  3. !, ~, ++, -- (后缀), +, -
  4. *, /, %
  5. +, -
  6. <<, >>, >>>
  7. <
  8. <=
  9. =

  10. ==
  11. !=
  12. &
  13. ^
  14. |
  15. &&
  16. ||
  17. ?:
  18. =
  19. +=, -=, *=, /=, %=, &=, ^=, |=, <<=, >>=, >>>=
int a = 4 + 2 * 3; // 先乘后加
System.out.println(a); // 输出 10
int b = (4 + 2) * 3; // 先加括号内,在乘
System.out.println(b); // 输出 18
int c = 1;
System.out.println(c++); // 先输出 c,再自增 1
System.out.println(c); // 输出 2
int d = 1;
System.out.println(++d); // 先自增 d,再输出 d
System.out.println(d); // 输出 2

以上就是 Java 中常用的运算符,不同的运算符适用于不同的场景,程序员需要根据具体情况进行选择。