Java編程那些事兒23—邏輯運算子

來源:互聯網
上載者:User

 

Java編程那些事兒23—邏輯運算子鄭州遊戲學院 陳躍峰出自:http://blog.csdn.net/mailbomb 4.3 邏輯運算子         邏輯運算子是指進行邏輯運算的符號。邏輯運算主要包括與(and)、或(or)和非(not)三種,在程式中主要用來串連多個條件,從而形成更加複雜的條件。         邏輯運算子的運算結果是boolean類型。         參與邏輯運算的資料也必須是boolean類型。         關於邏輯運算子的種類和說明參看錶4-3。表4-3 邏輯運算子
符號 名稱 功能說明
&& 邏輯與 兩個條件同時為true才為true,否則為false
|| 邏輯或 兩個條件有一個為true則為true,否則為false
! 邏輯非 只操作一個資料,對資料取反
         邏輯運算子使用範例程式碼:                   boolean b1 = true;                   boolean b2 = false;                   boolean b3 = b1 && b2; //則b3的值是false                   b3 = b1 || b2;        //則b3的值是true                   b3 = !b1;           //則b3的值是false         在實際程式中,可以根據邏輯的需要使用對應的邏輯運算子號。實際使用樣本:l 表示變數n是否屬於[0,10)區間int n = 4;                            boolean b = (n >=0) && (n < 10);對於變數n來說,只要n同時滿足大於等於零,且小於10,則位於[0,10)區間,由於程式中無法書寫0<=n<10這樣的條件,則必須通過邏輯運算子進行串連。l 表示變數n不屬於[0,10)區間一種寫法是:         int n = 4;         boolean b = !((n >= 0) && (n < 10));這裡,對於屬於該區間的條件取反,則可以獲得不屬於該區間的條件。另一種寫法是:         int n = 4;         boolean b = (n < 0) || (n >= 10);這裡做了一個簡單的變通,如果變數n不屬於該區間,則在數學上只需要滿足n小於0或者n大於等於10的任何一個條件即可,這樣的或者關係在程式中實現時使用邏輯或實現。         在程式設計中,根據邏輯需要,使用對應的邏輯運算子,可以實現相對比較複雜的組合條件,從而實現對應程式的功能。         最後說一下&&和&的區別,其實在進行邏輯與運算時,既可以使用&&也可以使用&,在功能上本身沒有區別。兩者區別的位置在,對於&來說,如果左側條件為false,也會計算右側條件的值,而對於&&來說,如果左側的條件為false,則不計算右側的條件,這種現象被稱作短路現象。         範例程式碼:                   int n = -1;                   boolean b1 = (n >= 0) && (n < 10);                   boolean b2 = (n >= 0) & (n < 10);         則對於第二行代碼來說,兩個條件都將被計算,而對於第三行代碼來說,因為n >= 0這個條件不成立,則n < 10根本不會被執行。當然,兩者得到的最終結果是一樣的。         對於現在的代碼來說,區別不大,但是如果後續的條件是一個方法(方法的概念後續將介紹到),則將影響程式邏輯。         驗證&和&&功能的範例程式碼如下:                   public class Test{                            public static void main(String[] args){                                      int n = 10;                                      boolean b = (n < 8) && ((n = 1) != 0);                                      int m = 20;                                      boolean b1 = (m < 8) & ((m = 1) != 0);                                       System.out.println(n);                                       System.out.println(m);                             }}                                                                                                                                                                 最後編輯:2008-5-26 修正&和&&的錯誤

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.