官术网_书友最值得收藏!

3.5.2 布爾邏輯運算

在進行空姐選拔時,被選拔人員需要滿足多個條件才可以成為某航空公司的空姐,如圖3.29所示。

圖3.29 空姐選拔條件

在編程中也一樣,一些代碼往往需要滿足多個條件才可以執行。這時就需要將這多個條件進行組合。布爾邏輯運算符就是將多個條件進行組合所產生的。Java語言包括3種布爾邏輯運算符,如表3.11所示。

表3.11 布爾邏輯運算符

使用布爾邏輯運算符構建的表達式被稱為布爾邏輯運算表達式,又被稱為邏輯表達式。其語法形式如下:

1.邏輯與運算

邏輯與運算需要使用邏輯與運算符(&&)。使用邏輯與運算符構建的表達式被稱為邏輯與運算表達式。其語法形式如下:

只有當“條件表達式1”和“條件表達式2”都為true時,邏輯與表達式的值才為true;當“條件表達式1”或“條件表達式2”中有一個為false時,邏輯與表達式的值就為false。

示例3-34】下面將實現邏輯與運算。代碼如下:

運行結果如下:

2.邏輯或運算

邏輯或運算需要使用邏輯或運算符(||)。使用邏輯或運算符構建的表達式被稱為邏輯或運算表達式。其語法形式如下:

當“條件表達式1”或“條件表達式2”中有一個為true時,邏輯或表達式的值就為true;當“條件表達式1”和“條件表達式2”都為false時,邏輯或表達式的值就為false。

示例3-35】下面將實現邏輯或運算。代碼如下:

運行結果如下:

注意:在邏輯與運算符和邏輯或運算符中都使用到了“短路”原則,它會減少運算量。例如在邏輯與運算中,首先會判斷第一個條件表達式是否返回false,如果返回false,后面的判斷就會造成“短路”,也就不再執行了。所以在使用這兩個運算符時,需要將最為重要的判斷條件放到最前面先執行。生活中,“短路”原則的應用是很常見的,如在征兵時,滿18周歲這個條件就是首選,如果不滿足,就會被直接刷下來。

3.邏輯非運算

邏輯非運算需要使用邏輯非運算符(?。?。使用邏輯非運算符構建的表達式被稱為邏輯非運算表達式。其語法形式如下:

當“條件表達式”為true時,邏輯非表達式的值就為false;當“條件表達式”為false時,邏輯非表達式的值就為true。

示例3-36】下面將實現邏輯非運算。代碼如下:

運行結果如下:

助記:為了快速進行布爾邏輯運算,需要熟記表3.12中的運算結果(真值表)。

表3.12 真值表

有時為了滿足某種需求需要將多個邏輯運算符復合在一起,來創建更長的復合表達式。代碼如下:

在執行此代碼時,需要注意邏輯運算符的優先級,!最高,||最低,如圖3.30所示。

圖3.30 運算符的優先級

根據優先級可知!(7<2)&&8<5||5>2的執行順序,如圖3.31所示。

圖3.31 運算順序

運行結果如下:

主站蜘蛛池模板: 静安区| 静宁县| 贡觉县| 理塘县| 洛川县| 威宁| 嘉定区| 辛集市| 公主岭市| 莒南县| 寿宁县| 来安县| 林口县| 大城县| 青田县| 黑龙江省| 久治县| 元阳县| 阳山县| 惠州市| 和林格尔县| 安徽省| 陇川县| 霍邱县| 昭苏县| 陆河县| 鲜城| 肥乡县| 衡南县| 娱乐| 隆回县| 金塔县| 七台河市| 毕节市| 大连市| 阜南县| 淄博市| 西林县| 太白县| 铜山县| 余姚市|