6.6 递增运算符和递减运算符

递增运算符对操作数增加1,递减运算符对操作数减去1,它们分别具有两种形式,分别是运算符前置和运算符后置,如表6-4所示。

6.6 递增运算符和递减运算符 - 图1

我们通过一段代码来说明,如代码清单6-3所示。

代码清单6-3 递增运算符和递减运算符示例


1 using System;

2

3 namespace ProgrammingCSharp4

4{

5 class OperatorSample

6{

7 static void Main()

8{

9 int i=10;

10 int i1=++i;

11 Console.WriteLine("i={0}",i);

12

13 i=10;

14 int i2=i++;

15 Console.WriteLine("i={0}",i);

16

17 i=10;

18 int i3=—i;

19 Console.WriteLine("i={0}",i);

20

21 i=10;

22 int i4=i—;

23 Console.WriteLine("i={0}",i);

24

25 Console.WriteLine("++i={0}",i1);

26 Console.WriteLine("i++={0}",i2);

27 Console.WriteLine("—i={0}",i3);

28 Console.WriteLine("i—={0}",i4);

29}

30}

31}


输出如下:


i=11

i=11

i=9

i=9

++i=11

i++=10

—i=9

i—=10


代码清单6-3 的第9行定义了变量i,其值为10;第10行定义新的变量i1,执行i变量的前置递增操作(++i);在第11行打印i的新值;第13行将i的值重新设置为初始值10;第14行执行i变量的后置递增操作(i++);同样地,第15行打印i的新值。前置递减和后置递减同理,不再赘述。通过输出结果,我们可以看出,无论是前置还是后置,变量的值都是相同的,不同的就是整个表达式的返回值,如无论前置递增还是后置递增,i的值都增加了1变为了11,而递减操作则变为了9,但前置递增返回的是新值11,后置递增返回的是旧值10。因此可以得出如下结论:

❑无论是前置还是后置(无论递增还是递减),操作数的值都发生了改变,且值相同(对于前置还是后置递增或递减而言);

❑前置操作符返回表达式新值,后置操作符返回表达式旧值。