C#码农笔记:从第一行代码到项目实战
上QQ阅读APP看书,第一时间看更新

2.6.2 自增和自减运算

自增运算符(++)和自减运算符(--)都是一元运算符,它只有一个操作数参与运算。自增运算是将操作数加1,自减就是将操作数减1。例如,a++,假设a的值为3,那么a自增运算之后的值应为4。

自增和自减运算符比较有趣的地方是在何时进行运算。如++i和i++有什么区别呢?++i是在参与其他运算之前就加上1,而i++则相反,是参与运算后才加1。这似乎不太好理解,请看示例代码

    int n = 50;
    int k = 50;
    Console.WriteLine(++n);
    Console.WriteLine(k++);

代码声明了两个整型变量n和k,初始值都是50,然后分别输出++n和k++的值。++n是在参与运算前加1,所以在调用Console.WriteLine(++n)时n的值已经加上1了,输出的结果应为51。而k++是参与运算后才加1,所以调用Console.WriteLine(k++)时k的值还没有加1,输出的结果应为原值50。

自减运算的原理也一样,下面是示例的另一段代码

    int x = 70;
    int y = 70;
    Console.WriteLine(--x);
    Console.WriteLine(y--);

图2-10 自增和自减运算的结果

变量x和y的值都初始化为70,在调用Console.WriteLine(--x)时因为x的值已经减去1,所以输出的结果为69,而Console.WriteLine(y--)调用时y的值还没有减1,所以输出70,y的值是在Console.WriteLine(y--)执行完之后才变为69。

最后的运行结果如图2-10所示。

完整的示例代码请参考\第2章\Example_9。