&和&&都可作为逻辑运算符“与”使用,但是&&是“短路与”,运算时先判断符号前面的表达式的值,如果能够确定整个表达式的值,则不进行符号后面的表达式的运算,如果是“&”则前后都必须进行判断。另外,&也可作为位运算符使用。
eg:
public class Test
{
public static void main(String args [] )
{
String str=null;
if(str!=null & str.length()>0){
System.out.println("hahha");
}
else{
System.out.println("hehe");
}
}
}
A:haha
B:hehe
C:编译错误
D:运行时异常
str.length()会报空指针异常,如果用&&则会输出“hehe”