成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

Java中”==”運算符的使用-創(chuàng)新互聯(lián)

這篇文章將為大家詳細講解有關(guān)Java中”==”運算符的使用豐方法,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

成都創(chuàng)新互聯(lián)公司專注于丹徒企業(yè)網(wǎng)站建設(shè),成都響應(yīng)式網(wǎng)站建設(shè)公司,成都商城網(wǎng)站開發(fā)。丹徒網(wǎng)站建設(shè)公司,為丹徒等地區(qū)提供建站服務(wù)。全流程按需網(wǎng)站策劃,專業(yè)設(shè)計,全程項目跟蹤,成都創(chuàng)新互聯(lián)公司專業(yè)和態(tài)度為您提供的服務(wù)

很多程序設(shè)計語言都使用”==”來判斷兩個數(shù)據(jù)是否相等,我們在編程中也經(jīng)常使用這個運算符,以至于對它已經(jīng)熟視無睹。

一、基礎(chǔ)數(shù)據(jù)類型之間的比較

首先我們來看一段代碼
Java中”==”運算符的使用
這段代碼當中,聲明了8個基礎(chǔ)類型的變量,這8個變量當中, boolean類型的變量flag是個“異類”,為什么這么說呢?因為其他7種數(shù)據(jù)類型之間都可以使用”==”做比較,無論比較的結(jié)果是true還是false,但至少能夠順利通過編譯,不會出現(xiàn)語法錯誤。但boolean類型的變量只能與其類型相同的變量進行比較,否則就會出現(xiàn)語法錯誤
Java中”==”運算符的使用
通過上面的代碼我們可以看到,不能把boolean類型的數(shù)據(jù)與其他7種基礎(chǔ)數(shù)據(jù)進行比較,否則會報錯。我們把這種現(xiàn)象戲稱為“孤獨的布爾”。那么,為什么boolean類型的數(shù)據(jù)不能與其他7種基礎(chǔ)數(shù)據(jù)進行比較呢?原因很簡單,就是因為其他7種類型的數(shù)據(jù),本質(zhì)上都是“數(shù)字”,我們使用”==”對這7種數(shù)據(jù)進行比較,比較的就是“數(shù)字的值”是否相等。而boolean類型的數(shù)據(jù)只有true和false兩種邏輯值,不能用來與“數(shù)字”進行比較。

二、對象之間的比較

兩個對象之間如果用“==”進行比較,會不會報錯呢?很多人可能會說,我用“==”比較過兩個String對象,其他情況似乎并不清楚。那么我們就來說說兩個對象之間用”==”進行比較的規(guī)則。首先必須清楚,兩個對象之間如果使用”==”進行比較,比的到底是什么?按照Java官方的說法,使用”==” 是比較“兩個對象內(nèi)存地址的數(shù)值是否相等”。我們可能不太理解這句話的意思,如果翻譯成大白話就是說:看一下這兩個對象是不是“同一個”對象。那么,是不是任意兩個對象都能用”==”進行比較運算呢?如果這兩個對象的類型是相同的,就可以用”==”進行運行運算,反之,如果這兩個對象的類型不相同,使用”==”進行比較就會報錯。我們可以看下面的代碼
Java中”==”運算符的使用
代碼中,a1和a2類型相同,可以用”==”進行比較,但a1和b1類型不同,用”==”進行比較就會報錯。我們把對象之間的比較規(guī)則,可以用一個詞來概括,那就是“物以類聚”。意思是類型相同才能進行比較。
兩個對象用”==”進行比較,還有一種特殊情況,那就是兩個對象的類型之間如果有繼承關(guān)系,那么也是可以用”==”進行比較的。請看下面的代碼
Java中”==”運算符的使用
大家可以看到,對象f是Father類型的,而對象c是Child類型的。但是Child類是Father類的子類,它們之間有繼承關(guān)系,所以對象f和c也是可以用”==”進行比較的。其實f和c從本質(zhì)上講,也都是Father類的,所以也符合”物以類聚”規(guī)則。

三、對象與基礎(chǔ)數(shù)據(jù)之間比較

按照Java的語法,一個對象是不能直接用”==”和一個基礎(chǔ)數(shù)據(jù)進行比較。但是,從JDK1.5開始,Java支持一種叫做”自動裝箱拆箱”的機制,這個機制的引入,產(chǎn)生了一種特殊情況,那就是:基礎(chǔ)數(shù)據(jù)類型可以和包裝類對象直接進行比較。
在這里,首先說一下”包裝類”是個什么東西。Java語言為了能夠讓基礎(chǔ)數(shù)據(jù)在某些特殊場合下用對象的形式表示或處理基礎(chǔ)數(shù)據(jù)類型,就為每種基礎(chǔ)數(shù)據(jù)類型都定義了一個包裝類。每個包裝類的對象當中,就包含一個基礎(chǔ)類型的數(shù)據(jù)?;A(chǔ)數(shù)據(jù)類型一共有8種,分別是:Btye、Short、Integer、Long、Double、Float、Character和Boolean,分別對應(yīng)byte、short、int、long、double、float、char和boolean這8種基礎(chǔ)數(shù)據(jù)類型。比如一個Integer類的對象當中,就包含了一個int類型的數(shù)據(jù)。
自動裝箱拆箱機制,能夠讓我們直接在程序中,把包裝類的對象和基礎(chǔ)數(shù)據(jù)類型進行比較。請看下面的程序
Java中”==”運算符的使用
通過這段程序,我們可以發(fā)現(xiàn):
1、一個int類型的數(shù)據(jù)可以直接和Integer類型的對象用”==”進行比較(見標號為①的代碼),因為自動拆箱裝箱機制在起作用。
2、一個int類型的數(shù)據(jù)甚至可以直接和Double類型的對象直接用”==”進行比較(見標號為②的代碼),因為有自動裝箱拆箱機制做保證,并且它們本質(zhì)上都是數(shù)字。只要是數(shù)字之間的比較都是合法的。
但是:
3、Boolen類型的對象還是不能和其他基礎(chǔ)類型數(shù)據(jù)進行比較(見標號為③的代碼),因為”布爾是孤獨的”。
4、兩個包裝類對象進行比較,如果這兩個對象類型不同,也不能直接比較(見標號為④的代碼),因為這兩個對象所屬的類型并無繼承關(guān)系。
上文描述的就是Java中”==”運算符的使用,具體使用情況還需要大家自己動手實驗使用過才能領(lǐng)會。如果想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

分享名稱:Java中”==”運算符的使用-創(chuàng)新互聯(lián)
地址分享:http://jinyejixie.com/article24/jegje.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計公司、微信小程序標簽優(yōu)化、建站公司、關(guān)鍵詞優(yōu)化網(wǎng)站設(shè)計

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站制作
临桂县| 霍林郭勒市| 安国市| 同心县| 孝义市| 东丰县| 平潭县| 嘉定区| 静乐县| 石泉县| 宜阳县| 凉山| 宜宾市| 四川省| 通山县| 衡东县| 寿阳县| 道孚县| 芜湖县| 鸡泽县| 潢川县| 夏河县| 拜泉县| 柘城县| 龙山县| 易门县| 门头沟区| 梁山县| 平罗县| 彩票| 望奎县| 社旗县| 信阳市| 临泽县| 苍溪县| 札达县| 北流市| 汶上县| 闻喜县| 思南县| 临沂市|