&和&&区别
- &&具有短路功能,而&不具有短路功能。
- &也可以使用作位运算符,在&操作符两边的表达式不属于 boolean类型时,&表示按位与操作
public class T { public static void main(String[] args) { int a = 0b0011_1100; int b = 0b0000_1101; System.out.println(Integer.toBinaryString(a & b));//0000_1100 System.out.println(Integer.toBinaryString(a | b));//0011_1101 System.out.println(Integer.toBinaryString(a ^ b));//0011_0001 System.out.println(Integer.toBinaryString(~b));//1111111111111111111111111111_0010 int i = 2; int j = 3; boolean flag = (i<1 && (i++ == 3));//短路 System.out.println(flag);//false System.out.println(i);//2 flag = (i<1 & (i++ == 3));//不短路 System.out.println(flag);//false System.out.println(i);//3 } }