| &是位运算符,表示按位与运算,&&是逻辑运算符,表示逻辑与(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("条件满足") ;
 }
 }
 };
 
 |