mirror of
https://github.com/LingCoder/OnJava8.git
synced 2026-08-24 15:03:29 +08:00
更新自动递增和递减
This commit is contained in:
@@ -259,6 +259,44 @@ x = a * (-b);
|
||||
## 自动递增和递减
|
||||
|
||||
|
||||
和 C 语言类似,Java 提供了许多快捷运算方式。快捷运算可使代码可读性,可写性都更强。其中包括递增 `++` 和递减 `--`,意为“增加或减少一个单位”。举个例子来说,假设 a 是一个 **int** 类型的值,则表达式 `++a` 就等价于 `a = a + 1`。 递增和递减运算符不仅可以修改变量,还可以生成变量的值。
|
||||
|
||||
每种类型的运算符,都有两个版本可供选用;通常将其称为“前缀版”和“后缀版”。“前递增”表示 `++` 运算符位于变量或表达式的前面;而“后递增”表示 `++` 运算符位于变量或表达式的后面。类似地,“前递减”意味着 `--` 运算符位于变量或表达式的前面;而“后递减”意味着 `--` 运算符位于变量或表达式的后面。对于前递增和前递减(如 `++a` 或 `--a`),会先执行递增/减运算,再返回值。而对于后递增和后递减(如 `a++` 或 `a--`),会先返回值,再执行递增/减运算。代码示例:
|
||||
|
||||
```JAVA
|
||||
// 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++ 小多少。
|
||||
|
||||
|
||||
<!-- Relational-Operators -->
|
||||
## 关系运算符
|
||||
|
||||
|
||||
Reference in New Issue
Block a user