逻辑运算与 全真则真 ,有假即假
&按位与 没有短路效应 前后表达式都计算
&&逻辑与 有短路效应 第一个表达式为假的时候,第二个表达式不计算,第一个表达式为真的时候,第二个表达式才计算
下面有两个例子
(1)
String str=null;
if(str!=null&&str.equals("dd")){
System.out.println(1);
}
(2)
String str=null;
if(str!=null&str.equals("dd")){
System.out.println(1);
}
上面(1) (2)都不会打印出1,因为str=null,但是(2)会报空指针异常,原因是&没有短路效应