Java基础-逻辑运算符Logic Operators

              Java基础-逻辑运算符Logic Operators
spa

                                做者:尹正杰code

版权声明:原创做品,谢绝转载!不然将追究法律责任。blog

 

 

 一.逻辑运算符io

  逻辑运算符是对布尔值进行操做运算的,常见的有:class

    1>.逻辑与(&);
基础

    2>.逻辑或(|);im

    3>.逻辑异或(^);qq

    4>.逻辑非(!);总结

    5>.短路与(&&);static

    6>.短路或(||);

   总结规律以下:

    1>."&":只有两个操做数都是true,结果才是true,其他都是false;
    2>."|":只要有一个操做数是true,结果就是true,其他都是false;
    3>."!":取反,true变false,false变true;
    4>.单操做数的只有一个;
    5>.异或的含义:求异,只有两个操做数不一样,整个表达式才为true;

 

二.案例展现

1>.逻辑运算符的操做数与布尔值

 1 /*
 2 @author :yinzhengjie  3 Blog:http://www.cnblogs.com/yinzhengjie/tag/Java%E5%9F%BA%E7%A1%80/
 4 EMAIL:y1053419035@qq.com  5 */
 6 
 7 public class LogicDome{  8     public static void main(String[] args){  9         
10         //逻辑运算符的操做数与布尔值
11         System.out.println( true & true );                //true
12         System.out.println( false | true );            //true
13         System.out.println( true ^ false );            //true
14         System.out.println( true ^ true );                //false
15         System.out.println( !true );                    //false
16         System.out.println( !false );                    //true
17         
18  } 19 }

2>.短路与&&,操做结果与逻辑&同样(推荐使用)

 1 /*
 2 @author :yinzhengjie  3 Blog:http://www.cnblogs.com/yinzhengjie/tag/Java%E5%9F%BA%E7%A1%80/
 4 EMAIL:y1053419035@qq.com  5 */
 6 
 7 public class LogicDome2{  8     public static void main(String[] args){  9         
10         //短路与&&,操做结果与逻辑&同样
11         int num = 2018; 12         System.out.println( (num < 0) & ( ++num > 0) );        //false
13         System.out.println( num );                                //2019 14         
15         //短路与&&,若是左侧表达式为false,不计算右侧表达式的值了
16         num = 18; 17         System.out.println( (num < 0) && ( ++num > 0) );        //false
18         System.out.println( num );                                //18
19  } 20 }

3>.短路或||,若是左侧为true,不计算右侧表达式的值了(推荐使用)

 1 /*
 2 @author :yinzhengjie  3 Blog:http://www.cnblogs.com/yinzhengjie/tag/Java%E5%9F%BA%E7%A1%80/
 4 EMAIL:y1053419035@qq.com  5 */
 6 
 7 public class LogicDome3{  8     public static void main(String[] args){  9         
10         //短路与||,若是左侧为true,不计算右侧表达式的值了
11         int num = 2018; 12         System.out.println( (num > 0) || ( ++num > 0) );        //false
13         System.out.println( num );                                //2018
14         
15  } 16 }

4>.逻辑运算符常常用于连接多个布尔表达式

 1 /*
 2 @author :yinzhengjie  3 Blog:http://www.cnblogs.com/yinzhengjie/tag/Java%E5%9F%BA%E7%A1%80/
 4 EMAIL:y1053419035@qq.com  5 */
 6 
 7 public class LogicDome4{  8     public static void main(String[] args){  9         
10         //逻辑运算符常常用于连接多个布尔表达式
11         int year = 2018; 12 
13         /**
14  判断某一年是否为闰年: 15  能被4整除可是不能被100整除 || 直接能被400整除 16  (能被4整除 && 不能被100整除) || 直接能被400整除 17  (year%4==0 && year%100!=0) || year%400==0; 18         */
19         
20         boolean isPrime = (year%4==0 &&  year%100!=0)    ||    year%400==0;        //false
21     
22  System.out.println( isPrime); 23         
24  } 25 }
相关文章
相关标签/搜索