编程语言中的++和--运算符介绍
++和--是编程语言(C/C++、JavaScript、Java)中的自增(加一)和自减(减一)运算符。它们可以应用于变量,并且具有前缀和后缀两种形式。
前缀形式:
++variable:将变量的值加一,然后返回新的值。
--variable:将变量的值减一,然后返回新的值。
后缀形式:
variable++:将变量的值返回,然后再将变量加一。
variable--:将变量的值返回,然后再将变量减一。
前缀式和后缀式 单独使用时对本身的影响都是一样的:++i 和 i++ 在单独使用时,都表示 i = i + 1;--i 和 i-- 在单独使用时,都表示i = i - 1。但是,当把他们作为其他表达式的一部分,两者就有区别了。如:
前缀式: j = ++i表示先运算,再赋值。
后缀式: j = i++表示先赋值,再运算。
在Python中没有++和--运算符,而是使用+=和-=来实现类似的功能。例如:
i = 0
i += 1 # 相当于 i++
i -= 1 # 相当于 i—
下面以在C/C++为例介绍++和--运算符使用及注意事项。
++和--运算符有两种使用形式:前缀形式和后缀形式:
前缀形式(如++i、--i)表示先进行自增/自减运算,然后再使用变量的值。后缀形式(如i++、i--)表示先使用变量的值,然后再进行自增/自减运算。
C++中自增运算符++和自减运算符--,作为独立(不需要进行其他操作)的语句:
x++;
和
++x;
效果是相同的,可以互换使用。
x--;
和
--x;
效果是相同的,可以互换使用。
当把他们作为其他表达式的一部分,两者就有区别了,效果不同。如:
cout << x++;
和
cout << ++x;
效果不同。
下面举例解释:
(1)int i = 0;
cout << ++i; 和 cout << i++;
解析: “cout << ++i;” 使用前置运算符,先将i增加1,然后再输出它的值;而“cout << i++;” 使用后置运算符,先输出i的当前值,然后再将i增加1。
下面给出一个简单而完整的示例:
#include <iostream>
using namespace std;
int main() {
int i=0;
cout << ++i << endl; // 输出1。先将i增加到1,然后再输出它的值。
cout << ++i << endl; // 输出2。
int j=0;
cout << j++ << endl; // 输出0。先输出j的当前值0,然后再将j增加到1。
}
(2)for(int k = 0; k<=10; k++)和for(int k = 0; k<=10; ++k)
解析:两者的循环次数相同。
小结一下:
前缀式和后缀式 单独使用时对本身的影响都是一样的:++i 和 i++ 在单独使用时,都表示 i = i + 1;--i 和 i-- 在单独使用时,都表示i = i - 1。但是,当把他们作为其他表达式的一部分,两者就有区别了。如:
前缀式: j = ++i表示先运算,再赋值。
后缀式: j = i++表示先赋值,再运算。