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 }
相關文章
相關標籤/搜索