ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
## [递增和递减](https://lingcoder.gitee.io/onjava8/#/book/04-Operators?id=%e9%80%92%e5%a2%9e%e5%92%8c%e9%80%92%e5%87%8f) 和 C 语言类似,Java 提供了许多快捷运算方式。快捷运算可使代码可读性,可写性都更强。其中包括递增`++`和递减`--`,意为“增加或减少一个单位”。举个例子来说,假设 a 是一个**int**类型的值,则表达式`++a`就等价于`a = a + 1`。 递增和递减运算符不仅可以修改变量,还可以生成变量的值。 每种类型的运算符,都有两个版本可供选用;通常将其称为“前缀”和“后缀”。“前递增”表示`++`运算符位于变量或表达式的前面;而“后递增”表示`++`运算符位于变量的后面。类似地,“前递减”意味着`--`运算符位于变量的前面;而“后递减”意味着`--`运算符位于变量的后面。对于前递增和前递减(如`++a`或`--a`),会先执行递增/减运算,再返回值。而对于后递增和后递减(如`a++`或`a--`),会先返回值,再执行递增/减运算。代码示例: ~~~ // operators/AutoInc.java // 演示 ++ 和 -- 运算符 public class AutoInc { public static void main(String[] args) { int i = 1; System.out.println("i: " + i); System.out.println("++i: " + ++i); // 前递增 System.out.println("i++: " + i++); // 后递增 System.out.println("i: " + i); System.out.println("--i: " + --i); // 前递减 System.out.println("i--: " + i--); // 后递减 System.out.println("i: " + i); } } ~~~ 输出结果: ~~~ i: 1 ++i: 2 i++: 2 i: 3 --i: 2 i--: 2 i: 1 ~~~ 对于前缀形式,我们将在执行递增/减操作后获取值;使用后缀形式,我们将在执行递增/减操作之前获取值。它们是唯一具有“副作用”的运算符(除那些涉及赋值的以外) —— 它们修改了操作数的值。 C++ 名称来自于递增运算符,暗示着“比 C 更进一步”。在早期的 Java 演讲中,*Bill Joy*(Java 作者之一)说“\*\*Java = C++ --\*\*”(C++ 减减),意味着 Java 在 C++ 的基础上减少了许多不必要的东西,因此语言更简单。随着进一步地学习,我们会发现 Java 的确有许多地方相对 C++ 来说更简便,但是在其他方面,难度并不会比 C++ 小多少。