黑马程序员技术交流社区
标题:
问&(与操作)与&&(逻辑与操作),|(或操作)与||(逻辑
[打印本页]
作者:
何荣智
时间:
2011-11-6 23:13
标题:
问&(与操作)与&&(逻辑与操作),|(或操作)与||(逻辑
&与|在进行运算时,符号两边的表达式都进行计算后才得出值,
而&&与||在运算时,如果运算符左边的值能决定整个表达式的值,运算符右边的内容就不在计算了
作者:
xiaobai198611
时间:
2011-11-7 12:02
&与|在进行运算时,符号两边的表达式都进行计算后才得出值,
而&&与||在运算时,如果运算符左边的值能决定整个表达式的值,运算符右边的内容就不在计算了
复制代码
你回答的挺对。其实你的答案合在一起就是你想要的[&(与操作)与&&(逻辑与操作),|(或操作)与||(逻辑或)的区别],在这再补充一下,如有问题相互讨论。
[&(与操作)与&&(逻辑与操作),|(或操作)与||(逻辑或)的两者最大区别是逻辑与和逻辑或是短路操作符,而与操作和或操作不是。
我先说下&&与||这个两个运算符,&&与||是逻辑运算符,又是短路操作符。什么是短路操作符呢?那首先知道什么是短路(初中物理学过),我想大家都知道。我们注意到,对于&&操作符来说,如果它的左操作数为false,则整个表达式一定为false,我们不需要再计算其右表达式。对于||情况也是一样的,如果其左操作数为true,则整个表达式一定为true,而不用计算其右表达式。这两个操作符只有在当左操作数不能决定整个表达式的值的时候才会计算右操作数。
而按位与/或”(&和|)却不是短路操作,既然不是短路操作,那就执行完表达式再得出值了。
作者:
yy312232557
时间:
2011-11-7 23:03
看了半天没看明白
楼主: C# 中 有 “&” 和 “| ” 这样的操作吗???
他们是什么意思???怎么读???
我只知道:
一:
“&&”是C#中的“且”的意思,表示同位true 则为 true, 否则 为 false;
二:“||”吃C# 中的 “或”的意思,表示只要其中之一为true 则 为 true;
三: 第三种就是“!”表示当前bool运算表达式的取反操作
作者:
liucaifu
时间:
2011-11-8 14:47
&和&&,&把整个表达式计算一遍,而&&当左边为false时,右边的就不会再去执行了, |和||只要有一方为真,那么整个表达式就为true.
作者:
何荣智
时间:
2011-11-9 23:53
yy312232557 发表于 2011-11-7 23:03
看了半天没看明白
楼主: C# 中 有 “&” 和 “| ” 这样的操作吗???
“| ”在C#中是“或”的意思,“||”在C#中是“逻辑或”的意思。
“&”在C#中是“且”的意思,“&&”在C#中是“逻辑且”的意思。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2