在编程语言中有什么用?

Ant*_*t's 0 java groovy

我已经看到了&许多编程语言的使用,因为我喜欢groovy很多,我尝试了下面的代码来找到使用&:

?a = 1 ;
println a & 2?
Run Code Online (Sandbox Code Playgroud)

我得到了输出0.当我改变我的价值时,a得到不同的答案.

所以任何人都可以说&在Groovy这样的编程语言中使用简单的英语,可能用任何语言的简单例子?

提前致谢.

Mik*_*uel 7

& 通常是按位 - 和(在整数参数上)或非短路逻辑和(在布尔参数上).

按位 - 并返回一系列位(通常表示为int类型),这些位仅具有公共集中的位

18          == 10010
6           == 00110
18 & 6 == 2 == 00010
Run Code Online (Sandbox Code Playgroud)

这似乎是您的Groovy代码中发生的事情. 1 & 2 == 0因为1和2没有共同点.

非短路逻辑和类似&&但是

if (f() && g())   // g is only called if f returns false
if (f() &  g())   // g is called even when f returns false
Run Code Online (Sandbox Code Playgroud)

在允许运算符重载的语言中,库有时会重载&以进行集合交集或元素位交叉.