运算符#
运算符是告诉计算机执行特定数学或逻辑操作的符号。在 Java 中,运算符主要分为以下几类:
算术运算符#
用于执行基本的数学运算。
| 运算符 | 描述 | 示例 (int a = 10, b = 3) |
结果 |
|---|---|---|---|
+ |
加法 | a + b |
13 |
- |
减法 | a - b |
7 |
* |
乘法 | a * b |
30 |
/ |
除法 | a / b |
3 (整数相除只取商) |
% |
取模 (取余) | a % b |
1 |
整数除法陷阱
在 Java 中,10 / 3 的结果是 3 而不是 3.333...。如果你需要精确的小数结果,必须确保至少有一个操作数是浮点型,例如 10.0 / 3。
赋值与复合运算符#
除了基础的 =,Java 还提供了一些简写形式。
| 运算符 | 等价于 | 说明 |
|---|---|---|
a += b |
a = a + b |
将 a 与 b 相加后重新赋值给 a |
a -= b |
a = a - b |
减法赋值 |
a *= b |
a = a * b |
乘法赋值 |
a /= b |
a = a / b |
除法赋值 |
自增与自减#
这是编程中最常见的快捷操作。
i++:先取值,后加 1。++i:先加 1,后取值。--同理。
void main() {
int count = 5;
IO.println(count++); // 输出 5,然后 count 变为 6
IO.println(++count); // count 先变 7,然后输出 7
}
比较运算符#
用于判断两个值的关系,结果总是 boolean 类型(true 或 false)。
| 运算符 | 描述 | 示例 |
|---|---|---|
== |
相等 | 5 == 5 (true) |
!= |
不相等 | 5 != 3 (true) |
> |
大于 | 5 > 8 (false) |
< |
小于 | 5 < 8 (true) |
>= |
大于等于 | 5 >= 5 (true) |
逻辑运算符#
用于组合多个布尔表达式,这是编写复杂逻辑的核心。
&&(逻辑与):两个都为真,结果才为真。||(逻辑或):只要有一个为真,结果就为真。!(逻辑非):取反。
void main() {
int age = 20;
boolean hasTicket = true;
// 逻辑与:必须满 18 岁 且 有票才能进入
boolean canEnter = (age >= 18) && hasTicket;
IO.println("可以入场吗?" + canEnter);
}
字符串连接符#
正如上一节所见,+ 符号如果用于字符串,会起到拼接作用。
void main() {
String str = "Java " + 25; // "Java 25"
IO.println("版本是: " + str);
}
运算符优先级#
就像数学中的“先乘除后加减”,Java 也有优先级规则。
- 括号
()优先级最高(建议在不确定时直接加括号,使代码更清晰)。 - 自增/自减
++--。 - 算术运算
* / %然后+ -。 - 比较运算
> < >= <=。 - 逻辑运算
&&然后||。
动手练习#
编写一个程序,输入(手动定义变量)一个秒数,计算它包含多少小时、分钟和秒。
void main() {
int totalSeconds = 3665;
int hours = totalSeconds / 3600;
int minutes = (totalSeconds % 3600) / 60;
int seconds = totalSeconds % 60;
IO.println(totalSeconds + " 秒等于 " + hours + " 小时 " + minutes + " 分钟 " + seconds + " 秒");
}
本节小结#
我们认识了 6 类运算符:算术运算符、赋值与复合运算符、自增与自减、比较运算符、逻辑运算符、字符串连接符,了解了 Java 中的运算符优先级。我们还编写了一个秒数转换的程序。
掌握了运算符,我们就能处理数据了。下一节我们将学习如何让程序“做决定”,即流程控制。