java中“|”和“&”的用法,请教大家,最好给个合理的解释!

时间:2023-01-31 19:46:50
public  class B{
public static void main(String [] args){
System.out.println(4|7);
System.out.println(45|7);
System.out.println(465|7);
System.out.println(4665|7);
System.out.println(46665|7);
System.out.println(4&7);
System.out.println(45&7);
System.out.println(465&7);
System.out.println(4665&7);
System.out.println(46665&7);
}
}
输出结果为:
-------------------------------------------------------------------------
F:\online>java B
7
47
471
4671
46671
4
5
1
1
1

那位高手给解释一下啊,偶学的不太好啊!谢谢啊!

8 个解决方案

#1


就第一个简单解释一下了,
4和7的2进制表示法如下:
4:  00000100           
7:  00000111
"|"是或的意思,当:
0和1返回1,
1和0返回1,
1和1返回1,
0和0返回0
所以:

4: 00000100
7: 00000111
   ----
7: 00000111 (结果)



#2


System.out.println(4&7);
-----------------------------------
ps:
4:  00000100           
7:  00000111
"&"是与的意思,当:
0和1返回0,
1和0返回0,
1和1返回1,
0和0返回0
所以:

4: 00000100
7: 00000111
   ----
4: 00000100 (结果)

#3


也可以说一种按位与(&)和按位或(|)运算
将他们都转换成2进制。然后运算,得到的二进制再转换成十进制就ok了!

#4


同意前两位!

#5


就第一个简单解释一下了,
4和7的2进制表示法如下:
4: 00000100
7: 00000111
"|"是或的意思,当:
0和1返回1,
1和0返回1,
1和1返回1,
0和0返回0
所以:

4: 00000100
7: 00000111
----
7: 00000111 (结果)

&就是逻辑乘了,方法都要和前面的大虾说的一样:)

#6


按位与(&)和按位或(|)运算

在其它语言中也是这样的

#7


主要是换成2进制先

#8


位运算而已,没什么特别的。

#1


就第一个简单解释一下了,
4和7的2进制表示法如下:
4:  00000100           
7:  00000111
"|"是或的意思,当:
0和1返回1,
1和0返回1,
1和1返回1,
0和0返回0
所以:

4: 00000100
7: 00000111
   ----
7: 00000111 (结果)



#2


System.out.println(4&7);
-----------------------------------
ps:
4:  00000100           
7:  00000111
"&"是与的意思,当:
0和1返回0,
1和0返回0,
1和1返回1,
0和0返回0
所以:

4: 00000100
7: 00000111
   ----
4: 00000100 (结果)

#3


也可以说一种按位与(&)和按位或(|)运算
将他们都转换成2进制。然后运算,得到的二进制再转换成十进制就ok了!

#4


同意前两位!

#5


就第一个简单解释一下了,
4和7的2进制表示法如下:
4: 00000100
7: 00000111
"|"是或的意思,当:
0和1返回1,
1和0返回1,
1和1返回1,
0和0返回0
所以:

4: 00000100
7: 00000111
----
7: 00000111 (结果)

&就是逻辑乘了,方法都要和前面的大虾说的一样:)

#6


按位与(&)和按位或(|)运算

在其它语言中也是这样的

#7


主要是换成2进制先

#8


位运算而已,没什么特别的。