`

黑马程序员——&与&&、|与||的区别

 
阅读更多

  ------- android培训java培训、期待与您交流! ----------

 

     &是位运算符,表示按位与运算,&&是逻辑运算符,表示逻辑与(and)。而我们在开发中,遇到&或者|  我可以将他们转换成双&、双||,这样可以提高效率,原由是:
           当表达式&&左边的结果是false时,发生短路,不用在计算右边的表达式,整个结果都为false。
           当表达式||左边的结果是ture时,发生短路时,不用在计算右边的表达式,这个结果为true。
代码体现:
   &与&&:

 

if(expression1 & expression2){}
中expression1 和expression2 无论expression1返回true还是false,都会继续判断expression2的返回值

 

 

public class Test4{  
    public static void main(String args[]){  
        if(10==10||10/0==0){  
            System.out.println("条件满足") ;  
        }  
    }  
};
 

 


|与||

public class Test4{  
    public static void main(String args[]){  
        if(10==10||10/0==0){  
            System.out.println("条件满足") ;  
        }  
    }  
};
 

 

这个程序执行会报错,因为程序会去判断每一个表达式,而下面:

public class Test4{  
    public static void main(String args[]){  
        if(10==10||10/0==0){  
            System.out.println("条件满足") ;  
        }  
    }  
};
 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics