java中的&运算符是什么意思?怎么用?

好像不对啊,那 A &= 1; 又该怎么理解呢?
2025-01-07 06:34:37
推荐回答(5个)
回答1:

&是位运算符,表示按位与运算,&&是逻辑运算符,表示逻辑与(and)

回答2:

&作为运算符的时候是二进制
对于每一位,当两个都是1的时候结果为一,反之为零。

111000111
&101010101
----------
101000101

A&=1;
等于
A = A & 1;

效果为如果A是单数的话A就变成0,否则就变成1。

回答3:

给你个例子:
public static void main(String[] args){
int i1 =1,b1=2;
//使用&&
if(i1==2 && (b1++)== 3){
System.out.println("使用&&:b1="+b1);
}else{
System.out.println("使用&&:b1="+b1);
}
//使用&:
int i2 =1,b2=2;
if(i1==2 & (b2++) == 3){
System.out.println("使用&:b2="+b2);
}else{
System.out.println("使用&:b2="+b2);
}

}
打印结果:
使用&&:b1=2
使用&:b2=3

使用&&的话如果第一个条件不符合就不会执行后面的条件
使用&的话两个条件都会执行。

可以看出 & 和 && 都是与的运算符 但&会不管两个条件对与错 都会运算一遍所以 b2 作了 b2++ 运算 ,结果变成了3.

哪看到的?有没一段程序?
那是A 和 1做与运算再把 一个值 赋回给A和 A +=1差不多吧

回答4:

举个例子,
A 是16进制的10,转成2进制:
00001010
1 同样转成2进制:
00000001

---------
把它们进行&运算:
00001010
&00000001
---------
00000000 ,看它们上下对应的0,1,如果同时为1时,结果为1,否则,通通置0
OK,问题解决啦

回答5:

一个&是指 与,应该看的懂吧
二个&是指 and,就是并且得意思,一般用在if语句里比较多