Java 中的 ++ 前置和后置:递增运算符
发布: (2025年12月28日 GMT+8 00:50)
3 min read
原文: Dev.to
Source: Dev.to
介绍
运算符 ++ 并不仅仅用于加法。在 Java 中,前置递增和后置递增会影响代码返回的值,而不仅仅是存储的值。问题出现在递增发生在表达式内部或在将值传递给索引或方法时。乍看之下似乎很平常,但如果你弄错了递增的时机和使用值的时机,可能会破坏循环或调用的逻辑。
- 前置递增 (
++x):先递增后返回新值。 - 后置递增 (
x++):先返回当前值,随后再递增。
在循环或方法调用中,选择哪一种会改变行为。如果你需要已经递增的值用于后续操作,使用 ++x;如果需要的是递增前的原始值,使用 x++。
示例
public class IncrementDemo {
public static void main(String[] args) {
int a = 1, b = ++a; // a=2, b=2
int c = 1, d = c++; // c=2, d=1
System.out.println(a + " " + b + " | " + c + " " + d);
}
}
这种差异经常出现在递增与索引操作或向方法传递值绑定在一起的情况下。错误的使用可能导致循环条件多执行一次,或者某个元素使用错误的索引进行处理。
推荐操作
- 在代码库中至少找到两个使用
x++来获取并传递给后续操作或索引的地方。 - 当需要立即使用递增后的值时,将这些情况改为
++x。 - 添加一个小测试,比较两种写法的行为差异。
- 如果没有相应的测试,为计数器或索引场景编写单元测试,明确验证前置递增和后置递增的区别。