Java程式設計那些事兒23 邏輯運算子

2021-04-23 17:52:55 字數 1684 閱讀 8982

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

}

Java程式設計那些事兒 如何學好程式設計

俗話說 興趣是最好的老師 但是只靠興趣是遠遠不夠的,還需要付出艱辛的努力。程式設計是一種技能,需要在較短的時間內學會,就不能像學習漢語一樣,通過十幾年甚至更長的時間來學好,也不能像英語那樣進行業餘學習,以至很多大學畢業的人英語水平也不敢恭維,也達不到實用的程度。那麼如何學好程式設計呢?或者更現實一點...

程式語言那些事兒

開發工具 入門 c 初級開發師 基本資料型別 引用資料型別 常量 變數 表示式 運算子 順序 分支 迴圈 i oc 中級開發師 命名空間 程式設計思想 量化你的思維 流程圖 偽 功能劃分 模組劃分 db設計 sys設計 函式思想 重用 i o 重構 物件導向的思想 物件陣列 物件指標 友元函式和友元...

Java程式設計那些事兒36 do while語句語法

5.4.2 do while語句 do while語句由關鍵字do和while組成,是迴圈語句中最典型的 先迴圈再判斷 的流程控制結構,這個和其它2個迴圈語句都不相同。do while語句的語法格式為 dowhile 迴圈條件 語法說明 在do while語句中,迴圈體部分是重複執行的 部分,迴圈條...