Java 操作符:Java 中操作符优先级、一二三元操作符及逻辑操作符的中德模佛定理
文章目錄
- 前言
- 一、操作符介紹與優(yōu)先級(jí)表
- 二、一元運(yùn)算符與二元運(yùn)算符的區(qū)別?
- 三、Java 中唯一的三元操作符
- 四、邏輯操作符中的德模佛定理
- 總結(jié)
前言
在 Java 中我們常見的操作符分為三種,分別是邏輯操作符、關(guān)系操作符、算術(shù)操作符,其優(yōu)先級(jí)和結(jié)合規(guī)則確定了操作符計(jì)算的順序,那么你會(huì)具體運(yùn)用它們嗎?又有哪些注意事項(xiàng)呢?它們各自的優(yōu)先級(jí)又該如何區(qū)分呢?德模佛定理又該如何應(yīng)用呢?本文來帶你詳細(xì)了解。一、操作符介紹與優(yōu)先級(jí)表
我們常見的操作符分為三種,其優(yōu)先級(jí)為:邏輯操作符 < 關(guān)系操作符 < 算術(shù)操作符
- 邏輯操作符(也稱布爾操作符),是對(duì)布爾值進(jìn)行的運(yùn)算,它會(huì)創(chuàng)建新的布爾值。包括:非(!)、與(&&)、或(||)、異或(^)。
- 關(guān)系操作符(<、<=、==、!=、>、>=)產(chǎn)生一個(gè)布爾值。
優(yōu)先級(jí)規(guī)則定義了操作符的先后次序,下表按照從上到下按優(yōu)先級(jí)遞減的方式排列。
| 最高級(jí) | var++和var- -(后置操作符) |
| ↓ | +、-(一元加號(hào)和一元減號(hào))、++var、- -var(前置操作符) |
| ↓ | (type)類型轉(zhuǎn)換 |
| ↓ | !(非) |
| ↓ | *、/、%(乘法、除法和求余運(yùn)算) |
| ↓ | +、-(二元加法和減法) |
| ↓ | <、<=、>、>=(比較操作符) |
| ↓ | ==、!=(相等操作符) |
| ↓ | ^(亦或) |
| ↓ | &&(條件與) |
| ↓ | (條件或) |
| 最低級(jí) | =、+=、-=、*=、/=、%=(賦值操作符) |
注意:所有的二元操作符都是左結(jié)合(left-associative),賦值操作符是右結(jié)合(right-associative)。
二、一元運(yùn)算符與二元運(yùn)算符的區(qū)別?
一元運(yùn)算符有且只有一個(gè)運(yùn)算參數(shù),二元運(yùn)算符有且只有兩個(gè)運(yùn)算參數(shù)。
例如:
- 一元運(yùn)算符,如負(fù)號(hào) - 1 : 它只能運(yùn)算一個(gè)數(shù)據(jù)。
- 二元運(yùn)算符,如加號(hào) 1 + 2 :參加運(yùn)算的只能是兩個(gè)數(shù)據(jù),多或者少都出錯(cuò),它是二元運(yùn)算符。
三、Java 中唯一的三元操作符
符號(hào)?和:在條件表達(dá)式中同時(shí)出現(xiàn)。它們構(gòu)成一種條件操作符,因?yàn)椴僮鲾?shù)有三個(gè),所以稱為三元操作符(ternary operator),它是 Java 中唯一的三元操作符。
在 Java 中的條件表達(dá)式基本形式如下:
boolean-expression ? expression1 : expression2;(布爾表達(dá)式? 表達(dá)式1: 表達(dá)式2)如果布爾表達(dá)式的值為 true,則條件表達(dá)式的結(jié)果為表達(dá)式 expression1,否則結(jié)果為 expression2。我們通常使用三元操作符來改寫 if else 條件語句。
如我們現(xiàn)在實(shí)現(xiàn)一個(gè)判斷票價(jià)的條件語句:年齡 age 小于 16 歲半價(jià)門票 ticketPrice 為 10 元,否則為全票 20 元。
首先用常規(guī)的 if else 條件語句實(shí)現(xiàn),代碼如下:
if (age >= 16) {ticketPrice = 20;} else {ticketPrice = 10;}接著我們使用三元操作符來改寫,代碼如下:
ticketPrice = (age >= 16) ? 20 : 10;如示例所示,三元操作符的條件表達(dá)式可以編寫更精簡的代碼。
四、邏輯操作符中的德模佛定理
德模佛定理是以印度出生的英國數(shù)學(xué)家和邏輯學(xué)家奧古斯都?德?模佛來命名的(1806——1871),這個(gè)定理可以用來簡化表達(dá)式。
定義描述如下:
!(condition1 && condition2)和!condition1 || !condition2是等價(jià)的, !(condition1 || condition2)和!condition1 && !condition2是等價(jià)的。即:
!(number % 2 == 0 && number % 3 == 0)等價(jià)于!number % 2 == 0 || !number % 3 == 0 !(number % 2 == 0 || number % 3 == 0)等價(jià)于!number % 2 == 0 && !number % 3 == 0總結(jié)
本文給大家介紹了 Java 中操作符優(yōu)先級(jí)、一二三元操作符以及邏輯操作符中德模佛定理。這些都是 Java 的基礎(chǔ),基礎(chǔ)扎實(shí),后期才可以穩(wěn)步提升。其中的三元操作符有時(shí)候運(yùn)用起來遠(yuǎn)比使用條件語句快得多,時(shí)間復(fù)雜度會(huì)大大降低。我是白鹿,一個(gè)不懈奮斗的程序猿。望本文能對(duì)你有所裨益,歡迎大家的一鍵三連!若有其他問題、建議或者補(bǔ)充可以留言在文章下方,感謝大家的支持!
總結(jié)
以上是生活随笔為你收集整理的Java 操作符:Java 中操作符优先级、一二三元操作符及逻辑操作符的中德模佛定理的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 中信电子卡怎么还款
- 下一篇: 光刻胶板块真正的龙头股 必须要给大家介绍