&是位运算符,表示按位与运算,&&是逻辑运算符,表示逻辑与(and)。而我们在开发中,遇到&或者| 我可以将他们转换成双&、双||,这样可以提高效率,原由是:
当表达式&&左边的结果是false时,发生短路,不用在计算右边的表达式,整个结果都为false。
当表达式||左边的结果是ture时,发生短路时,不用在计算右边的表达式,这个结果为true。
代码体现:
&与&&:
Java代码
if(expression1 & expression2){}
中expression1 和expression2 无论expression1返回true还是false,都会继续判断expression2的返回值
Java代码
public class Test4{
public static void main(String args[]){
if(10==10||10/0==0){
System.out.println("条件满足") ;
}
}
};
|与||
Java代码
public class Test4{
public static void main(String args[]){
if(10==10||10/0==0){
System.out.println("条件满足") ;
}
}
};
这个程序执行会报错,因为程序会去判断每一个表达式,而下面:
Java代码
public class Test4{
public static void main(String args[]){
if(10==10||10/0==0){
System.out.println("条件满足") ;
}
}
};
|