<del id="d4fwx"><form id="d4fwx"></form></del>
      <del id="d4fwx"><form id="d4fwx"></form></del><del id="d4fwx"><form id="d4fwx"></form></del>

            <code id="d4fwx"><abbr id="d4fwx"></abbr></code>
          • Java基本數(shù)據(jù)類型及包裝類的介紹-創(chuàng)新互聯(lián)

            本篇內(nèi)容主要講解“Java基本數(shù)據(jù)類型及包裝類的介紹”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學(xué)習(xí)“Java基本數(shù)據(jù)類型及包裝類的介紹”吧!

            創(chuàng)新互聯(lián)專注于企業(yè)成都營銷網(wǎng)站建設(shè)、網(wǎng)站重做改版、蓮湖網(wǎng)站定制設(shè)計、自適應(yīng)品牌網(wǎng)站建設(shè)、H5高端網(wǎng)站建設(shè)、商城建設(shè)、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)網(wǎng)站制作、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計等建站業(yè)務(wù),價格優(yōu)惠性價比高,為蓮湖等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。

            關(guān)鍵字
            位數(shù)、常量池、包裝類(自動裝拆箱)

            8種基本數(shù)據(jù)類型
            整數(shù)類型:byte,short,int,long
            浮點數(shù)類型:float,double
            字符類型:char
            布爾類型:boolean

            位數(shù)
            1、JVM規(guī)范中,boolean作為int處理,占4字節(jié) ,boolean數(shù)組當(dāng)做byte數(shù)組,占1個字節(jié)。
            2、byte類型是1byte也就是8位,可以表示的數(shù)字是-128到127,因為還有一個0,加起來一共是256。

            包裝類
            能解決
            1、基本類型并不具備對象的特性: 沒有成員變量,方法可以調(diào)用。
            2、不支持面向?qū)ο蟮淖兂蓹C制(不可變),包裝類。Byte,Short,Integer,Long,Double,Float,Charater,Boolean。

            JDK1.5,開始提供自動裝箱和拆箱功能,基本類型變量賦給對應(yīng)的包裝類變量稱之為裝箱。自動拆箱與之相反。
            Java 7增強了包裝類的功能,為所有的包裝類提供了一個靜態(tài)的compare(xxx val1,xxx val2)方法,來比較兩個基本類型值得大小。(解決 兩個128自動裝箱后,比較它們的大小并不相等問題)
            Java 8再次增強包裝類的功能,可以支持無符號運算。

            基本類型和包裝類區(qū)別
            1、聲明方式不同:包裝類型需要使用new關(guān)鍵字來在堆中分配存儲空間,基本類型不需要。
            2、存儲方式及位置不同:基本類型存儲在棧中,而包裝類型是在堆中,然后通過引用來使用。
            3、初始值不同:包裝類型的初始值為null,基本類型的初始值 eg:int -> 0,boolean ->false。
            4、使用場景不同:常用的集合如Collection、Map時必須使用包裝類(不可變性)。

            常量池
            好處:
            1、節(jié)省內(nèi)存空間
            2、提高運行效率
            包裝類
            Byte,Short,Integer,Long,Character,Boolean 5種 ,在 -128 ~ 127中用到常量池,會自動拆箱裝箱,其余數(shù)字范圍則會新建實例
            兩種浮點數(shù)類型的包裝類Float,Double并沒有實現(xiàn)常量池技術(shù)

            基礎(chǔ)類型
            被final修飾時:
              如果是成員變量,一定會存入常量池,比如變量b;
              如果是局部變量,既不會存入常量池,也不在棧中;

            沒有被final修飾時:
              不管是成員變量還是局部變量,都不一定會被存入常量池,int類型的變量會以2的15次方為基準(zhǔn),大于等于這個數(shù)就會存入常量池,小于則不會;
              但是double類型1d不會,2d會,這個原因也沒找到是為什么;

            包裝類常見問題
            一.數(shù)值包裝類
            / Integer案例/
            Integer i1 = 128;
            Integer i2 = 128;
            Integer i3 = 127;
            Integer i4 = 127;
            System.out.println(i1 == i2);//false
            System.out.println(i3==i4); //true
              
            / Long案例/
            Long l1 = 128L;
            Long l2 = 128L;
            Long l3 = -128L;
            Long l4 = -128L;
            System.out.println(l1 == l2);//false
            System.out.println(l3==l4);//true
               
            /Float(Double)案例(形成對比)/
            Float f1 = 128f;
            Float f2 = 128f;
            Float f3 = 127f;
            Float f4 = 127f;
            System.out.println(f1 == f2);//false
            System.out.println(f3==f4);//false

            二.原理
            因為Byte,Integer,Long對在-128~127之間的數(shù)據(jù)進(jìn)行了緩存,如果待轉(zhuǎn)換的數(shù)值 i 在該范圍了則直接從緩存取,而不是new Integer(i)。
               Float和Double則是每次都new一個新的,沒有緩存機制,所以都為false。

            三.JDK源碼:
            /Integer的實現(xiàn)/
            public static Integer valueOf(int i) {
            if(i >= -128 && i <= IntegerCache.high)
            return IntegerCache.cache[i + 128];//IntegerCache.high為127,取緩存
            else
            return new Integer(i);
            }
            /Long的實現(xiàn)/
            public static Long valueOf(long l) {
            final int offset = 128;
            if (l >= -128 && l <= 127) { // will cache
            return LongCache.cache[(int)l + offset];
            }
            return new Long(l);
            }
            /Float的實現(xiàn)(無緩存)/
            public static Float valueOf(float f) {
            return new Float(f);
            }

            到此,相信大家對“Java基本數(shù)據(jù)類型及包裝類的介紹”有了更深的了解,不妨來實際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

            另外有需要云服務(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基本數(shù)據(jù)類型及包裝類的介紹-創(chuàng)新互聯(lián)
            文章鏈接:http://www.jbt999.com/article4/ccdioe.html

            成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App設(shè)計網(wǎng)站內(nèi)鏈、網(wǎng)站排名、關(guān)鍵詞優(yōu)化、App開發(fā)移動網(wǎng)站建設(shè)

            廣告

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

            手機網(wǎng)站建設(shè)

              <del id="d4fwx"><form id="d4fwx"></form></del>
              <del id="d4fwx"><form id="d4fwx"></form></del><del id="d4fwx"><form id="d4fwx"></form></del>

                    <code id="d4fwx"><abbr id="d4fwx"></abbr></code>
                  • 国产精品卡一卡二卡三卡4在线 | 强上app在线观看一区二区三区 | 欧美中文字幕观看 | 亚洲乱伦黄色小说视频网址 | 骚逼逼影院 |