跳转到内容

编程基础/增量和减量运算符

来自维基教科书,开放的书籍,开放的世界

增量和减量运算符是一元运算符,分别对其操作数加或减 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)。

使用增量或减量评估以下项目

  1. 真或假:x = x +1 和 x+=1 和 x++ 都完成了增量?
  2. 给定:int y = 19;和 int z;在 z = y–; 之后,y 和 z 将具有什么值?
  3. 给定:double x = 7.77;和 int y;在 y = ++x; 之后,x 和 y 将具有什么值?
  4. 这样可以吗?为什么或为什么不?6 * ++(age -3)

关键词

[编辑 | 编辑源代码]
减量
从变量的值中减去 1。
增量
将 1 加到变量的值。
后缀
将增量或减量运算符放置在操作数的右侧。
前缀
将增量或减量运算符放置在操作数的左侧。

参考文献

[编辑 | 编辑源代码]
华夏公益教科书