All articles| All Pictures| All Softwares| All Video| Go home page| Write articles| Upload pictures

Reading number is top 10 articles
使用PHP的Socket写的POP3类_php资料_编程技术
PHP连接远程MYSQL和MYSQL5.1中文乱码处理方法_[PHP教程]
C#闪烁问题解决方法_.net资料_编程技术
ASP.NET技巧:ASP.NET2.0泛型和匿名方法_[Asp.Net教程]
利用SQL,Server发邮件_[SQL,Server教程]
学习使用ASP.NET,2.0的本地化_.net资料_编程技术
AJAX实例:根据邮编自动完成地址信息_[AJAX教程]
c#中GDI+图形图像:GDI+中的画笔使用方法
PHP实例:常用的数值判断函数_php资料_编程技术
《Effective,C#》之减少装箱和拆箱_[Asp.Net教程]
Reading number is top 10 pictures
The woman fight much more than men
穷哥们向美女求婚攻略
More attractive than sora aoi3
China railway shunting skills competition
Average female college students3
The Soviet union swimsuit exposure in the 70 year2
西班牙山村小景1
A beautiful girl to bud3
A man's favorite things8
Ashlynn Brooke photograph of a group1
Download software ranking
1400篇各类破解文章
The Bermuda triangle3
WebService在.NET中的实战应用教学视频 → 第1集
Unix video tutorial2
Unix video tutorial10
Unix video tutorial12
小黑猫大战两米大花蛇
Ashlynn Video5
株洲本地在线棋牌游戏
Proficient in Eclipse
delv published in(发表于) 2014/1/6 9:07:40 Edit(编辑)
VC#2005快速入门之使用布尔操作符_[Asp.Net教程]

VC#2005快速入门之使用布尔操作符_[Asp.Net教程]

VC#2005快速入门之使用布尔操作符_[Asp.Net教程]

布尔操作符(Boolean operator)是求值结果要么为true,要么为false的一种操作符。C#提供了几个非常有用的布尔操作符,其中最简单的是NOT(求反)操作符,它使用感叹号(!)来表示。!操作符求一个布尔值的反值。在上例中,假如变量areYouReady的值为true,那么表达式!areYouReady的求值结果就是false。

  理解相等和关系操作符

  两个更常用的布尔操作符是相等(==)和不等(!=)操作符。利用这两个二元操作符,可以判断一个值是否与相同类型的另一个值相等。表1展示了这些操作符是如何工作的,其中以一个名为age的int变量为例。

  表1 布尔操作符


操 作 符
含 义
示 例
结果(假定age = 42)
==
等于
age == 100
false
!=
不等于
age != 0
true

  与上述两个操作符密切相关的是关系操作符(relational operator)。利用这些操作符,可以判断一个值是否小于或大于同类型的另一个值。表2展示了如何使用这些操作符。

  表2 关系操作符


操 作 符
含 义
示 例
结果(假定age = 42)
&<
小于
age &< 21
false
&<=
小于或等于
age &<= 18
false
>
大于
age > 16
true
>=
大于或等于
age >= 30
true

  注意 不要混淆相等操作符(==)与赋值操作符(=)。像x==y这样的代码会比较x与y,如果两个值相同,就会返回true。相反,像x=y这样的代码会将y的值赋给x。

  理解条件逻辑操作符

  C#还提供了另外两个布尔操作符:逻辑AND(逻辑与)操作符,它使用&&来表示;以及逻辑OR(逻辑或)操作符,它使用||来表示。这两个操作符统称为条件逻辑操作符(conditional logical operator)。它们的作用是合并不同的布尔表达式,以构成一个更大的表达式。这两个二元操作符与相等及关系操作符的相似之处在于,它们的结果也是true或false。不同之处在于,它们操作的值(操作数)本身就必须是true或false。

  只有作为操作数的两个布尔表达式都为true的前提下,&&操作符的求值结果才为true。例如,只有在percent的值大于或等于零,而且percent的值小于或等于100的前提下,以下语句才会将true值赋给validPercentage:

bool validPercentage;

validPercentage = (percent >= 0) && (percent &<= 100);

  提示 新手常犯的一个错误是在合并两个测试的时候,只对percent变量命名一次,就像下面这样:

percent >= 0 && &<= 100 // 这个语句不能编译

  使用圆括号有助于避免这种类型的错误,同时也有助于澄清表达式。例如,可以对比一下以下两个表达式:

validPercentage = percent >= 0 && percent &<= 100

validPercentage = (percent >= 0) && (percent &<= 100)

  两个表达式返回的是同一个值,因为操作符&&的优先级低于>=和&<=。然而,第二个表达式采取更清晰易懂的方式表明了它的目的。

  两个操作符任何一个为true,操作符||的求值结果都为true。使用操作符||,我们可以判断两个条件中是否有任何一个成立。如果percent的值小于零,或者percent的值大于100,以下语句会将值true赋给invalidPercentage:

bool invalidPercentage;
invalidPercentage = (percent &< 0) || (percent > 100);



短路求值

操作符&&和||都具备一项名为短路求值(short circuiting)的特性。有时,根本没有必要将两个操作数都求值出来。例如,假定操作符&&的左操作数求值为false,那么整个表达式的结果肯定是false,不管右操作数的值是什么。类似地,如果操作符||的左操作数求值为true,那么整个表达式的结果肯定是true。在这些情况下,操作符&&和||将绕过对右侧的布尔表达式的求值。下面是一些例子:




(percent >= 0) && (percent &<= 100)




在这个表达式中,假如percent的值小于零,那么操作符&&左侧的布尔表达式会求值为false。该值意味着整个表达式的结果肯定为false,无论右侧的表达式是什么。所以,不会对右侧的表达式进行求值。




(percent &< 0) || (percent > 100)




在这个表达式中,如果percent的值小于零,操作符||左侧的布尔表达式会求值为true。该值意味着整个表达式的结果肯定为true。所以,不会对右侧的表达式进行求值。

如果能小心地设计表达式来使用条件逻辑操作符,就可以避免通过不必要的工作来提升代码的性能。将计算容易、简单的布尔表达式放到条件逻辑操作符的左边,将较复杂的表达式放到右边。在许多情况下,程序并不需要求值更复杂的表达式。


  操作符优先级和结合性总结

  表3总结了迄今为止学过的所有操作符的优先级和结合性。相同类别的操作符具有相同的优先级。一个更高类别中的操作符优先于较低类别中的操作符。

  表3 操作符小结


类 别


操 作 符


描 述


结 合 性



主要(Primary)


()

++

--


覆盖优先级

后递增

后递减





一元(Unary)


!

+

-

++

--


逻辑NOT





前递增

前递减





乘(Multiplicative)


*

/

%






求余





加(Additive)


+

-










关系(Relational)


&<

&<=

>

>=


小于

小于或等于

大于

大于或等于





相等(Equality)


==

!=


等于

不等于





条件AND(Conditional AND)


&&


逻辑AND





条件OR(Conditional OR)


||


逻辑OR





赋值(Assignment)


=







来源:CSDN





添加到del.icio.us 添加到新浪ViVi 添加到百度搜藏 添加到POCO网摘 添加到天天网摘365Key 添加到和讯网摘 添加到天极网摘 添加到黑米书签 添加到QQ书签 添加到雅虎收藏 添加到奇客发现 diigo it 添加到饭否 添加到飞豆订阅 添加到抓虾收藏 添加到鲜果订阅 digg it 貼到funP 添加到有道阅读 Live Favorites 添加到Newsvine 打印本页 用Email发送本页 在Facebook上分享


Disclaimer Privacy Policy About us Site Map

If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.