(1)&:在C语言中表示对的是位运算符。
比如说 (&运算符两边操作的是数值型)
int a=12;
int b=23;
int sum=a&b;
System.out.println(sum);
其结果是:4.(是按照位运算的方法得出)。
当&两边的操作是布尔型的时候,不存在逻辑短路
String name="lin";
String pass="123";
if (name!=null & pass!= null) {
System.out.println(name+"+"+pass);
}
其结果是:zhou+123
总结:&运算符,他可以操纵布尔类型和数值类型,在操纵布尔类型的时候不存在短路问题左右都会判断。在操纵数值类型的时候她是按照位运算符操作。
(2)&&:只能操作布尔类型,并且存在短路问题。