A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 ugvgylkm 于 2011-12-15 10:19 编辑

逻辑| 和条件|| 还有 逻辑&和条件&&什么关系呢 尤其是那个单个| 和& 是怎么回事????????

评分

参与人数 1技术分 +2 收起 理由
李荣壮 + 2

查看全部评分

5 个回复

倒序浏览
周胜 黑马帝 2011-12-14 22:19:42
沙发
if(1==2 & 2==2)程序执行时即便1=2是false了,但是还会比较2==2
if(1==2 && 2==2),1==2是false,就不会比较2==2了
if(1==2 | 2==2)程序执行时即便1=2是true了,但是还会比较2==2
if(1==2 || 2==2),1==2是true,就不会比较2==2了

评分

参与人数 1技术分 +2 收起 理由
李荣壮 + 2

查看全部评分

回复 使用道具 举报
,&&是逻辑与  即判断&&两侧的表达式是否都为真,都为真则此&&表达式值为真;& 是按位与 即将&两侧的数用二进制展开,每一位都求与运算(二进制与运算,跟逻辑与差不多),最后得到的二进制数即为结果;逻辑与结果只讲真和假,而按位与得出的却是实实在在的一个数

位或运算的时候,他会将所有运算条件都算出结果,再判断是否为真.
|| 逻辑或运算的时候,从前往后运算,若有一个成立,则不再继续运算下面的条件.直接为真.

评分

参与人数 1技术分 +2 收起 理由
李荣壮 + 2

查看全部评分

回复 使用道具 举报
C#为整型和布尔型预定义了二进制“&”运算符。对于整型,“&”计算操作数的按位与;对于布尔操作数,“&”计算操作数的逻辑与。
也就是说,当且仅当两个操作数均为true时,其结果才为true,而“&&”则是这样:
条件1为false时不去理会条件2,因为即使条件2为true,结果还是false,“&”则会去判断条件2。
“||”与“|”也是相同的道理:“|”无论条件1是否为true,都会去判断条件2;“||”则指当条件1为true时便不去理会条件2。
“&&”和“||”在判断条件的时候一旦条件1为false,便像电线短路一样,停止了后面所要走的线路。所以“&&”被称为短路与,“||”称为短路或。
“&”也可以作为一元运算符,返回操作数的地址。

评分

参与人数 1技术分 +2 收起 理由
李荣壮 + 2

查看全部评分

回复 使用道具 举报
OK 解决了
回复 使用道具 举报
LZ该结贴了!
结贴方法:
http://bbs.itheima.com/thread-4863-1-2.html
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马