编程基础/增量和减量运算符
增量和减量运算符是一元运算符,分别对其操作数加或减 1。它们通常在命令式编程语言中实现。[1]
增量或减量的概念是对通常用作标志的变量加或减 1。例如,使用名为 counter 的变量
增加计数器
这个概念是
计数器被分配给计数器 + 1
也就是说,你获取计数器的现有值并加 1,然后将答案存储回变量计数器。许多编程语言允许它们的增量和减量运算符只用于整数数据类型。程序员有时会使用 inc 和 dec 分别作为增量和减量的缩写。
运算符符号和/或名称因不同的编程语言而异。几种编程语言支持增量和减量运算符
运算符 | 意义 |
++
|
增量,两个加号 |
--
|
减量,两个减号 |
在 C++、C#、Java 和 JavaScript 编程语言中,增量和减量运算符通常以这种简单通用的方式使用。增量运算符用两个连续的加号表示。例子
计数器 = 计数器 + 1;
计数器 += 1;
计数器++;
++计数器;
作为语句,这四个例子都做同样的事情。它们将 1 加到存储在计数器中的任何值。减量运算符用两个连续的减号表示。它们将从正在递减的变量的值中减去 1。增量和减量的优先级取决于运算符是附加在操作数的右侧(后缀)还是操作数的左侧(前缀)。请注意,后缀和前缀的优先级不同。
后缀增量表示使用我的现有值,然后在你完成其他运算符时;增加我。一个例子
int oldest = 44; age = oldest++;
oldest 变量的第一次使用是 Rvalue 上下文,其中现有值 44 被提取或获取,然后分配给变量 age;然后变量 oldest 被增加,其值从 44 更改为 45。这似乎违反了优先级,因为增量比分配具有更高的优先级。但这正是后缀增量的工作方式。
前缀增量表示立即增加我,并在任何计算中使用我的新值。一个例子
int oldest = 44; age = ++oldest;
变量 oldest 被增加,其新值从 44 更改为 45;然后新值被分配给 age。
在后缀中,age 被分配为 44,在前缀中,age 被分配为 45。记住区别的一种方法是将后缀视为礼貌(使用我的现有值,并在其他运算符完成后返回增加我),而前缀具有自我意识(我很重要,所以先增加我,并使用我的新值进行其余的评估)。
在某些编程语言中,增量和减量只能用于整数数据类型。其他语言将其扩展到所有整数族,也扩展到浮点数族(float 和 double)。将 3.87 增量将使值更改为 4.87。将“C”减量将使值更改为“B”。记住 ASCII 字符值实际上是 1 字节无符号整数(域从 0 到 255)。
使用增量或减量评估以下项目
- 真或假:x = x +1 和 x+=1 和 x++ 都完成了增量?
- 给定:int y = 19;和 int z;在 z = y–; 之后,y 和 z 将具有什么值?
- 给定:double x = 7.77;和 int y;在 y = ++x; 之后,x 和 y 将具有什么值?
- 这样可以吗?为什么或为什么不?6 * ++(age -3)
- 减量
- 从变量的值中减去 1。
- 增量
- 将 1 加到变量的值。
- 后缀
- 将增量或减量运算符放置在操作数的右侧。
- 前缀
- 将增量或减量运算符放置在操作数的左侧。