两个位都为1时,结果才为1
System.out.println(1 & 1); // 1
System.out.println(0 & 1); // 0
System.out.println(1 & 0); // 0
System.out.println(0 & 0); // 0
两个位都为0时,结果才为0
System.out.println(1 & 1); // 1
System.out.println(0 & 1); // 1
System.out.println(1 & 0); // 1
System.out.println(0 & 0); // 0
两个位相同为0,相异为1
System.out.println(1 & 1); // 0
System.out.println(0 & 1); // 1
System.out.println(1 & 0); // 1
System.out.println(0 & 0); // 0
0变1,1变0
~1=0
~0=1
参考:csdn