C#入门到精通系列课程——第3章变量及运算符 (9)

 上面的代码中,在没有进行强制类型转换的条件下,a+1的结果是一个int值,无法直接赋给一个byte变量。但是如果使用“+=”实现递增计算,就不会出现这个问题,代码如下:

C#入门到精通系列课程——第3章变量及运算符

 

 

(2)不规则的多值运算

复合赋值运算符虽然简洁、强大,但是有些时候是不推荐使用的,例如,下面的代码:

C#入门到精通系列课程——第3章变量及运算符

 

 如果将,上面这行代码改成复合赋值运算符实现,就会显得非常烦琐,代码如下:

C#入门到精通系列课程——第3章变量及运算符

 

 说明:在C#中可以把赋值运算符连在一起使用。如:

C#入门到精通系列课程——第3章变量及运算符

 

 

在这个语句中,变量x、y. z都得到同样的值5,但在程序开发中不建议使用这种赋值语法。

3.5.4  关系运算符

关系运算符是双目运算符,它用于在程序中的变量之间以及其他类型的对象之间的比较,它返回一个代表运算结果的布尔值。当运算符对应的关系成立时,运算结果为true,否则为false。 关系运算符通常用在条件语句中来作为判断的依据。C#中的关系运算符共有6个,其使用及说明如表3.7所示。

C#入门到精通系列课程——第3章变量及运算符

 

 

说明:不等于运算符(!=)是与等于运算符相反的运算符,它与!(a==b) 是等效的。

实例06:使用关系运算符比较大小关系

创建一个控制台应用程序,声明3个int 类型的变量,并分别对它们进行初始化,然后分别使用C#中的各种关系运算符对它们的大小关系进行比较,代码如下:

C#入门到精通系列课程——第3章变量及运算符

 

 

代码注解:

(1)第6行代码使用“Console.WriteLine);" 输出了一个空行,起到换行的作用。

(2)第7行到第12行代码主要演示6种关系运算符的使用方法。

程序运行结果如图3.22所示。

C#入门到精通系列课程——第3章变量及运算符

 

 

拓展训练:

一、有两个链球,它们分别重5kg和8kg,请使用程序输出其中更重的一个链球。

二、国家推出二胎政策,A家庭陆续生了2个孩子,B家庭陆续生了4个孩子,哪个家庭属于超生家庭?

3.5.5  逻辑运算符

假定某面包店,在每周二的下午7点至8点和每周六的下午5点至6点,对生日蛋糕商品进行折扣让利活动,那么想参加折扣活动的顾客,就要在时间上满足这样的条件(周二并且7:00 PM~8:00 PM) 或者(周六并且5:00 PM~6:00 PM),这里就用到了逻辑关系,在C#中也提供了这样的逻辑运算符来进行逻辑运算。

逻辑运算符是对真和假这两种布尔值进行运算,运算后的结果仍是一个布尔值。在C#中,逻辑运算符主要包括& (&&) (逻辑与)、| (||) (逻辑或)、! (逻辑非)。在逻辑运算符中,除了“!”是单目运算符之外,其他都是双目运算符。表3.8列出了逻辑运算符的用法和说明。

C#入门到精通系列课程——第3章变量及运算符

 

 使用逻辑运算符进行逻辑运算时,其运算结果如表3.9所示。

C#入门到精通系列课程——第3章变量及运算符

 

 

多学两招:逻辑运算符“&&”与“&”都表示“逻辑与”,那么它们之间的区别在哪里呢?从表3.9可以看出,当两个表达式都为true时,逻辑与的结果才会是true。使用“&”会判断两个表达式; 而“&&”则是针对bool类型的数据进行判断,当第一个表达式为false时,则不去判断第二个表达式,直接输出结果从而节省计算机判断的次数。通常将这种在逻辑表达式中从左端的表达式可推断出整个表达式的值称为“短路”,而那些始终执行逻辑运算符两边的表达式称为“非短路”。“&&”属于“短路”运算符,而“&”则属于“非短路”运算符。“||”与“|”的区别跟“&&”与“&”的区别类似。

实例07参加面包店的打折活动

创建一个控制台应用程序,使用代码实现前面描述的面包店打折活动的场景,代码如下:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wsxyxx.html