1. 概述

在本篇教程中,我们将深入讲解 Java 中的自增(Increment)与自减(Decrement)一元运算符。

我们会从语法讲起,接着通过示例说明它们的使用方式和注意事项,帮助你在实际开发中避免踩坑。

2. Java 中的自增与自减操作

在 Java 中:

  • 自增运算符(++)会将变量的值 加 1
  • 自减运算符(--)会将变量的值 减 1

这两个操作都会 立即更新变量的值,因此它们属于“副作用”操作。

⚠️ 使用限制

  • 被操作的必须是一个 变量,不能是常量(final),否则编译失败
  • 不能作用于表达式(expression),比如 ++(a + b) 是非法的

✅ 两种形式

自增和自减操作都有两种形式:

  • 前缀形式(Prefix):如 ++i--i
  • 后缀形式(Postfix):如 i++i--

两者的区别在于 变量值何时被更新

3. 前缀形式:前自增与前自减

前缀形式的运算符写在变量前面,例如:

int operand = 1;
++operand; // operand = 2

执行顺序:先自增(或自减),再使用新值

看一个完整示例:

int operand = 1;
int number = ++operand; // operand = 2, number = 2

再来看一个前自减的例子:

int operand = 2;
--operand; // operand = 1
int number = --operand; // operand = 0, number = 0

✅ 使用建议

由于前缀形式会立刻修改变量值,如果嵌套在复杂表达式中,容易引起理解混乱。建议将这类操作 单独成行,避免副作用影响逻辑判断。

4. 后缀形式:后自增与后自减

后缀形式的运算符写在变量后面,例如:

int operand = 1;
operand++; // operand = 2

执行顺序:先使用原值,再自增(或自减)

举个例子:

int operand = 1;
int number = operand++; // operand = 2, number = 1

再来一个后自减的例子:

int operand = 2;
int number = operand--; // operand = 1, number = 2

✅ 同样建议

后缀形式同样会修改变量值,但它的“延迟更新”特性更容易让人误解。尤其是在嵌套表达式中,逻辑可能变得难以追踪。建议 单独使用一行,提高可读性和可维护性。

5. 总结

本篇教程中我们学习了 Java 中的自增与自减运算符:

形式 操作符位置 行为
前缀 前面 先修改值,后使用
后缀 后面 先使用值,后修改

最佳实践建议

  • 尽量避免在复杂表达式中使用 ++--
  • 单独成行使用,提高可读性
  • 避免混淆逻辑顺序,尤其是循环和条件判断中

完整示例代码可在 GitHub 仓库 中查看。


原始标题:A Guide to Increment and Decrement Unary Operators in Java | Baeldung