黑马程序员技术交流社区

标题: 黑马程序员——逻辑与和逻辑或的短路问题: [打印本页]

作者: oscar    时间: 2012-3-28 10:21
标题: 黑马程序员——逻辑与和逻辑或的短路问题:
今天看到老师的视频中有讲逻辑与和逻辑或的短路问题,听后感觉很是不错,与大家分享一下。

逻辑与和逻辑或的短路问题:
逻辑与:
int a=5,b=18;
bool result=++a>100&&++b>10;//由于&&前已经判断出++a之后++a>100为false,所以后面的++b>10就不再计算个,故有b仍为18
Console.WriteLine("a的值为{0},b的值为{1}",a,b);
逻辑或:
int a=5,b=18;
bool result=++a>1||++b>10;//由于&&前已经判断出++a之后++a>1为true,所以后面的++b>10就不再计算个,故有b仍为18
Console.WriteLine("a的值为{0},b的值为{1}",a,b);




作者: 张学良    时间: 2012-3-28 19:58
逻辑与 是只要第一个是false,那么就不会去执行第二个了,
逻辑或 是只要第一个是true,就不执行第二个,
这就是短路。
作者: 张静慈    时间: 2012-3-28 20:58
主要是逻辑或  和逻辑与特性的问题   很好  经常分享哈
作者: oscar    时间: 2012-3-28 22:31
谢谢你分享你的收获!~
作者: 方辉    时间: 2012-3-29 08:41
所以,个人觉得自加,自减这样的运算符还是在逻辑表达式中少用,呵呵,如果出了问题,还真不是一般的麻烦.
作者: 李正兴    时间: 2012-3-29 11:00
不错饿  谢谢你的分享
作者: 黄涛    时间: 2012-7-16 22:38
逻辑与 是只要第一个是false,那么就不会去执行第二个了,
逻辑或 是只要第一个是true,就不执行第二个,
这是正解




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2