本章旨在教会你:
● 使用复合赋值操作符来更新一个变量的值
● 使用while、for和do等循环语句
● 逐步执行一个do语句,并观察变量值的变化
第4章讲述了如何使用if和switch结构来选择性地运行语句。在本章,将介绍如何使用多种循环语句来重复运行一个或多个语句。写循环语句时,通常需要控制重复的次数。为此,可以使用一个变量,在每次重复时都更新它的值,并在变量抵达一个特定的值时停止重复。因此,还要介绍如何在这些情况下使用特殊的赋值操作符来更新一个变量的值。
5.1 使用复合赋值操作符前面讲过如何使用算术操作符来创建新值。例如,以下语句使用操作符+来创建一个比变量answer大42的值,新值将写入控制台:
Console.WriteLine(answer + 42);
前面还讲过如何使用赋值语句来更改一个变量的值。以下语句使用赋值操作符将answer的值变成42:
answer = 42;
如果希望在一个变量的值上加42,可以将赋值操作符与加法操作符合并到一起。例如,以下语句在answer上加42,并将新值赋给answer。换言之,在运行该语句之后,answer的值将比之前大42:
answer = answer + 42;
虽然这是一个合法的语句,但有经验的程序员不会这样写。在变量上加一个值是非常一个常见的操作,所以C#专门提供了+=操作符来简化这个操作。为了在answer上加42,有经验的程序员会像下面这样写:
answer += 42;
基于类似的原理,可以将任何算术操作符与赋值操作符合并到一起,下表对此进行了总结。这些操作符统称为复合赋值操作符(compound assignment operator)。
不要这样写 |
要这样写 |
variable = variable * number; |
variable *= number; |
variable = variable / number; |
variable /= number; |
variable = variable % number; |
variable %= number; |
variable = variable + number; |
variable += number; |
variable = variable - number; |
variable -= number; |
提示:复合赋值操作符与简单赋值操作符具有一样的优先级和右结合性。操作符+=也可应用于字符串;它能将一个字符串附加到另一个字符串末尾。例如,以下代码将在控制台上显示"Hello John":
string name = "John";
string greeting = "Hello ";
greeting += name;
Console.WriteLine(greeting);
但是,除了+=之外,不能将其他任何复合赋值操作符应用于字符串。
注意 需要让一个变量递增或递减1时,不要使用复合赋值操作符,而是使用操作符++和--。例如,不是这样写:
count += 1;
而是这样写:
count++;
xb霳
zT\▼簨購汵鉔x0'