跳转至

运算符#

运算符是告诉计算机执行特定数学或逻辑操作的符号。在 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 类型(truefalse)。

运算符 描述 示例
== 相等 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 也有优先级规则。

  1. 括号 () 优先级最高(建议在不确定时直接加括号,使代码更清晰)。
  2. 自增/自减 ++ --
  3. 算术运算 * / % 然后 + -
  4. 比较运算 > < >= <=
  5. 逻辑运算 && 然后 ||

动手练习#

编写一个程序,输入(手动定义变量)一个秒数,计算它包含多少小时、分钟和秒。

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 中的运算符优先级。我们还编写了一个秒数转换的程序。

掌握了运算符,我们就能处理数据了。下一节我们将学习如何让程序“做决定”,即流程控制