20. Java 在程序中使用运算符
在 Java 中,运算符用于执行操作,如数学计算、逻辑运算、比较等。它们作用于一个、两个或三个操作数,然后返回结果。掌握 Java 运算符是编程的关键部分,它们广泛应用于实际编程中。
运算符的优先级
运算符的优先级决定了在表达式中,哪些运算符先执行,哪些运算符后执行。优先级高的运算符会先被计算。Java 中的运算符可以分为不同的类别,每个类别的运算符具有不同的优先级。
运算符优先级表
| 运算符类型 | 运算符 | 优先级 | ||
|---|---|---|---|---|
| 后缀运算符 | expr++ expr-- | 1 | ||
| 一元运算符 | ++expr --expr +expr -expr ~ ! | 2 | ||
| 乘法运算符 | * / % | 3 | ||
| 加法运算符 | + - | 4 | ||
| 移位运算符 | << >> >>> | 5 | ||
| 关系运算符 | < > <= >= instanceof | 6 | ||
| 相等运算符 | == != | 7 | ||
| 位运算符(按位与) | & | 8 | ||
| 位运算符(按位异或) | ^ | 9 | ||
| 位运算符(按位或) | ` | ` | ||
| 逻辑运算符(逻辑与) | && | 11 | ||
| 逻辑运算符(逻辑或) | ` | ` | ||
| 三元运算符 | ? : | 13 | ||
| 赋值运算符 | = += -= *= /= %= &= ^= ` | =` |
运算符的优先级越高,越早进行计算。运算符的计算顺序是从高到低进行的。如果有多个同级优先级的运算符,则按从左到右的顺序计算,除赋值运算符外,赋值运算符按从右到左的顺序计算。
常用的运算符
下面我们将介绍 Java 中常用的几类运算符,并附上示例代码。
1. 后缀运算符 (expr++, expr--)
后缀运算符用于对变量进行自增或自减操作,并且返回原始值。expr++ 会返回原值,然后将其增加 1。
class PostfixDemo {
public static void main(String[] args) {
int x = 5;
System.out.println(x++); // 输出 5
System.out.println(x); // 输出 6
}
}
2. 一元运算符 (++expr, --expr, +expr, -expr, ~, !)
一元运算符用于对单个操作数执行操作。
++expr和--expr会先增加或减少操作数的值,然后返回修改后的值。+expr和-expr用于表示正数和负数。~是按位取反运算符。!是逻辑非运算符。
class UnaryDemo {
public static void main(String[] args) {
int x = 5;
System.out.println(++x); // 输出 6
System.out.println(x--); // 输出 6,之后 x 变为 5
System.out.println(x); // 输出 5
}
}
3. 乘法、除法和取余运算符 (\*, /, %)
这些运算符用于执行基本的数学运算。
class ArithmeticDemo {
public static void main(String[] args) {
int a = 10;
int b = 3;
System.out.println(a * b); // 输出 30
System.out.println(a / b); // 输出 3
System.out.println(a % b); // 输出 1
}
}
4. 加法和减法运算符 (+, -)
加法和减法运算符用于数字的加法和减法运算,+ 运算符也可以用于字符串拼接。
class AdditionSubtractionDemo {
public static void main(String[] args) {
int a = 10, b = 5;
System.out.println(a + b); // 输出 15
System.out.println(a - b); // 输出 5
}
}
5. 关系运算符 (<, >, <=, >=, instanceof)
关系运算符用于比较两个值或对象的关系,返回布尔值 true 或 false。
class RelationalDemo {
public static void main(String[] args) {
int a = 5, b = 10;
System.out.println(a < b); // 输出 true
System.out.println(a >= b); // 输出 false
}
}
6. 逻辑运算符 (&&, ||)
逻辑运算符用于布尔值的逻辑运算。
class LogicalDemo {
public static void main(String[] args) {
boolean a = true, b = false;
System.out.println(a && b); // 输出 false
System.out.println(a || b); // 输出 true
}
}
7. 三元运算符 (? :)
三元运算符是一个简洁的条件运算符,用于根据条件返回两个值中的一个。
class TernaryDemo {
public static void main(String[] args) {
int a = 5, b = 10;
int result = (a > b) ? a : b; // 如果 a > b,则返回 a,否则返回 b
System.out.println(result); // 输出 10
}
}
8. 赋值运算符 (=, +=, -=, \*=, /=, %=)
赋值运算符用于将值赋给变量。+=, -=, *=, /=, %= 等是复合赋值运算符,表示将某个操作的结果赋给变量。
class AssignmentDemo {
public static void main(String[] args) {
int a = 10;
a += 5; // 相当于 a = a + 5
System.out.println(a); // 输出 15
}
}
总结
Java 中的运算符用于执行各种操作,如数学计算、逻辑运算、赋值等。掌握这些运算符的优先级和用法有助于编写高效且清晰的代码。常见的运算符包括:
- 一元运算符:
++,--,+,-,! - 二元运算符:
+,-,*,/,%,==,!=,&&,|| - 三元运算符:
? : - 赋值运算符:
=,+=,-=,*=,/=
通过理解和使用这些运算符,可以进行各种基本的编程任务,从简单的数学计算到复杂的逻辑判断。