VC#2005快速入门之复合赋值操作符

快速入门

  前面讲过如何使用算术操作符来创建新值。例如,以下语句使用操作符+来创建比变量answer大42的一个值,新值将写入控制台:

Console.WriteLine(answer + 42);
  前面还讲过如何使用赋值语句来更改一个变量的值。以下语句使用赋值操作符将answer的值变成42:

answer = 42;
  如果希望在一个变量的值上加42,可以将赋值操作符与加法操作符合并到一起。例如,以下语句在answer上加42,并将新值赋给answer。换言之,在运行该语句之后,answer的值将比之前大42:

answer = answer + 42;
  虽然这是一个有效的语句,但有经验的程序员不会这样写。在变量上加一个值是非常普遍的一个操作,所以Microsoft Visual C#专门提供了一个复合赋值操作符+=来简化这个操作。为了在answer上加42,有经验的程序员会这样写:

answer += 42;
  利用这个快捷方式,可以将任何算术操作符与赋值操作符合并到一起,表5.1对此进行了总结。这些操作符统称为复合赋值操作符(compound assignment operator)。
 
表5.1 复合赋值操作符

错误写法

正确写法

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++;

时间: 2016-07-07

VC#2005快速入门之复合赋值操作符的相关文章

VC#2005快速入门之使用布尔操作符

快速入门 布尔操作符(Boolean operator)是求值结果要么为true,要么为false的一种操作符.C#提供了几个非常有用的布尔操作符,其中最简单的是NOT(求反)操作符,它使用感叹号(!)来表示.!操作符求一个布尔值的反值.在上例中,假如变量areYouReady的值为true,那么表达式!areYouReady的求值结果就是false. 理解相等和关系操作符 两个更常用的布尔操作符是相等(==)和不等(!=)操作符.利用这两个二元操作符,可以判断一个值是否与相同类型的另一个值相等

VC#2005快速入门之使用if语句

快速入门|语句 如果想根据一个布尔表达式的结果选择执行两个不同的代码块,就可以使用if语句. 理解if语句的语法 if语句的语法格式如下(if和else是关键字): if ( booleanExpression ) statement-1;else statement-2; 如果booleanExpression求值为true,就运行 statement-1:否则就运行statement-2.else关键字和后续的statement-2是可有可无的.如果没有else子句,那么在booleanEx

VC#2005快速入门之使用while语句

使用while语句,可以在一个布尔表达式为true的前提下重复运行一个语句. while语句的语法如下: while ( booleanExpression ) statement 首先会对布尔表达式进行求值,如果为true,就运行语句,然后再次求值布尔表达式.如果表达式仍为true,就再次运行语句,并再次求值表达式.这个过程会反复进行下去,直到布尔表达式求值为false:届时,while语句将退出,并从while之后的第一个语句继续.while语句在语法上与if语句有许多相似的地方(事实上,两

VC#2005快速入门之使用do语句

while和for语句都在循环开始的时候测试它们的布尔表达式.这意味着假如在首次测试时,布尔表达式就求值为false,那么循环主体一次都不会运行.do语句则不同,它的布尔表达式是在每次重复之后求值的,所以主体至少会执行一次. do语句的语法如下(不要忘记最后的分号): do statement while (booleanExpression); 如果循环主体由多个语句构成,请使用一个语句块.下面是在控制台上输出0-9的那个例子的do语句版本: int i = 0; do { Console.W

c++的问题-c++primer 第四版:在书店程序中,我们使用了加法操作符而不是复合赋值操作符

问题描述 c++primer 第四版:在书店程序中,我们使用了加法操作符而不是复合赋值操作符 c++primer 第四版:在书店程序中,我们使用了加法操作符而不是复合赋值操 作符将 trans 加到 total 中,为什么我们不使用复合赋 值操作符? 解决方案 先把代码贴出来看,我只看过C++ Primer Plus(第五版).

Visual C# 2005快速入门之调用方法

visual|快速入门 方法之所以存在就是为了被调用!使用方法名来调用一个方法,要求它执行它的任务.如果方法要获取信息(由它的参数指定),就必须提供它需要的信息.如果方法要返回信息(由它的返回类型指定),就应该以某种方式来捕捉这个信息. 指定方法调用语法 为了调用一个C#方法,需要采用如下语法形式: methodName (argumentList) methodName(方法名)必须与调用的那个方法的名称完全一致.记住,C#语言是区分大小写的.argumentList(参数列表)用于提供将由方

Visual C# 2005快速入门之编写方法

visual|快速入门 在下面的练习中,将创建一个应用程序,它包含的一个方法能够计算一名顾问的收费金额--假定该顾问每天收取固定的费用,将根据工作了多少天来收费.首先要开发应用程序的逻辑,然后利用"生成方法存根向导"来写出这个逻辑使用的方法.接着,我们将在一个控制台应用程序中运行方法,以获得对该程序的最终印象.最后,我们将使用Visual Studio 2005调试器来检查方法调用. 开发应用程序逻辑 1. 在Visual Studio 2005中打开My Documents文件夹下的

Visual C#2005快速入门之声明bool变量

visual|变量|快速入门 与现实世界不同,在编程的世界中,每一件事情要么黑,要么白:要么对,要么错:要么是真的,要么是假的.例如,假定你创建一个名为x的整数变量,把值99赋给x,然后问:"x中包含了值99吗?"答案显然是肯定的.如果你问:"x小于10吗?"答案显然是否定的.这些正是布尔(Boolean)表达式的例子.一个布尔表达式肯定求值为true或false.   注意 对于这些问题,并非所有编程语言都会做出同样的回答.例如,一个未赋值的变量有一个未定义的值,

Visual C#2005快速入门之switch语句

visual|快速入门|语句 某些时候,在嵌套使用if语句时,所有if语句看起来都非常相似,因为它们都在对一个完全相同的表达式进行求值,惟一的区别是每个if语句都将表达式的结果与一个不同的值进行比较.例如: if (day == 0) dayName = "Sunday";else if (day == 1) dayName = "Monday";else if (day == 2) dayName = "Tuesday";else if (da