第二章:08运算符[逻辑运算符]

①逻辑运算符

&逻辑与:有false则false。

|逻辑或:有true则true。

^逻辑异或:相同为false,不同为true。

!逻辑非:非false则true,非true则false。

&&,||

 


 

 

&&和&的区别? 同理||和|的区别?  

扫描二维码关注公众号,回复: 6426253 查看本文章

A:最终结果一样。

B:&&具有短路效果。左边是false,右边不执行。

 

②实例

/*

运算符之四:逻辑运算符

&  && |  || ! ^

说明:

1.逻辑运算符操作的都是boolean类型的变量

*/

class LogicTest {

   public static void main(String[] args) {

       

       //区分& 与 &&

       //相同点1:& 与  && 的运算结果相同

       //相同点2:当符号左边是true时,二者都会执行符号右边的运算

       //不同点:当符号左边是false时,&继续执行符号右边的运算。&&不再执行符号右边的运算。

       //开发中,推荐使用&&

       boolean b1 = true;

       b1 = false;

       int num1 = 10;

       if(b1 & (num1++ > 0)){

           System.out.println("我现在在北京");

       }else{

           System.out.println("我现在在南京");

       }

       System.out.println("num1 = " + num1);

       

       boolean b2 = true;

       b2 = false;

       int num2 = 10;

       if(b2 && (num2++ > 0)){

           System.out.println("我现在在北京");

       }else{

           System.out.println("我现在在南京");

       }

       System.out.println("num2 = " + num2);

       // 区分:| 与 ||

       //相同点1:| 与  || 的运算结果相同

       //相同点2:当符号左边是false时,二者都会执行符号右边的运算

       //不同点3:当符号左边是true时,|继续执行符号右边的运算,而||不再执行符号右边的运算

       //开发中,推荐使用||

       boolean b3 = false;

       b3 = true;

       int num3 = 10;

       if(b3 | (num3++ > 0)){

           System.out.println("我现在在北京");

       }else{

           System.out.println("我现在在南京");

       }

       System.out.println("num3 = " + num3);

       boolean b4 = false;

       b4 = true;

       int num4 = 10;

       if(b4 || (num4++ > 0)){

           System.out.println("我现在在北京");

       }else{

           System.out.println("我现在在南京");

       }

       System.out.println("num4 = " + num4);

   }

}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

猜你喜欢

转载自www.cnblogs.com/Lucky-stars/p/11007654.html