黑马程序员技术交流社区
标题:
“&”与“&&”符号有什么区别?
[打印本页]
作者:
mauleta
时间:
2013-12-4 20:25
标题:
“&”与“&&”符号有什么区别?
本帖最后由 mauleta 于 2013-12-7 08:38 编辑
“&”与“&&”符号有什么区别? 我每次出错后才知道用那个,具体有什么区别啊?
作者:
yuanlianxi03
时间:
2013-12-4 20:43
&可以做位于运算符 和 非短路逻辑与运算符
&&短路逻辑与运算符
作者:
yuanlianxi03
时间:
2013-12-4 20:50
用&时做逻辑与运算符,它是非短路逻辑与
什么是非短路,举一个例子: false & (5 == 8) 这个表达式,即使&左边的条件为false,也会计算&右边的表达式(5==8)的结果
用&&时做逻辑运算符时,它是短路逻辑与
还是上一个表达式,false && (5==8) 如果&&左边的计算结果为false,就不会计算右边表达式的结果
作者:
y494890511
时间:
2013-12-4 21:14
1.&是逻辑与
0&0=0
0&1=0
1&0=0
1&1=1
2.&&是and
&&两边条件同时成立才为true
作者:
梦想是否存在
时间:
2013-12-4 21:16
当使用&&运算符时 如果第一表达式为假 就不再判断第二表达式的真假,也叫短路运算
当使用&运算符 当第一表达式为假 还是会去第二表达式,也可以叫非短路运算
作者:
刘吉烨
时间:
2013-12-4 21:22
& 是与运算,是一个运算符 它是按bit 进行和运算
而 && 是只做bool 逻辑与运算,通常用于判断,不进行运算(无bit 操作)
作者:
上帝的尊严
时间:
2013-12-4 22:38
&含义是与是位运算符,主要来计算2进制数问题的,&&含义是逻辑与是逻辑运算符,是表达两个bool变量之间的逻辑关系
作者:
不明觉厉
时间:
2013-12-5 15:02
&是对二进制进行操作的,0代表 非,1代表 是
这就很容易理解了:0&0=0;0&1=01&1=1.
而&&就是对两边的条件进行判断,当两边的条件都成立,整个表达式才成立。
其实用两个串联的开关理解&比较好,0代表断开,1代表闭合;
0&0就是两个开个都断开,肯定为0;
0&1代表一个断开,一个闭合,还是不能通路,还是为0;
1&1代表两个开关都闭合,那么线路为通路,为1.
作者:
土豆泥
时间:
2013-12-5 18:15
按位‘与’:a&b是把a和b都转换成二进制数然后再进行与的运算;
逻辑‘与’:a&&b是当且仅当两者均为 true时,其结果才为 true;只要有一个为零,a&&b就为零。
作者:
师弟
时间:
2013-12-6 15:43
这个问题很简单,“&”是按与运算,是个位运算符,而“&&”是针对两个bool表达式与运算。不懂位运算可以百度看看。
作者:
chenan0124
时间:
2013-12-6 23:02
& 是与运算,是一个运算符 它是按bit 进行和运算,这在汇编语言是个必备的
比如:
0xf8 & 0x3f = 0x38
true & true = true
而 && 是只做bool 逻辑与运算,通常用于判断,不进行和运算(无bit 操作)
true & true = true
作者:
红鹰(Jake)
时间:
2013-12-6 23:10
运算符&&和||与运算符&和|是一样的,只是&&和|具有短路特性,使代码的特性更高。所谓短路就是在逻辑运算过程中,如果计算第一个操作数时就能得知运算结果,就不会再计算第二个操作数
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2