<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                [TOC] # 變量 Java中基本類型一共4類,把這4類展開后共8種基本類型。我們今后編寫程序時使用的是這8種基本類型而不是4類,這8種基本類型指定了范圍。 ![](https://box.kancloud.cn/dedae88a344aab9395bf948fde7fed92_941x342.png) # 常量 前面我們說過100是整數常量,但它是byte、short、int、long中的哪一種呢?下面我們來聊聊這一常量類型的問題。 整數常量可以根據所在范圍來確定類型,例如100在-128~127之間,所以他是byte類型;500在-32768~32767之間,所以它是short類型;100000在-2147483648~2147483648之間,所以它是int類型。java中默認的整數類型是int類型 你可能會認為12345678901在-263~263-1之間,所以它是long類型。注意了,這是錯誤的!!!在Java中整數常量如果不在-2147483648~2147483648之間就必須添加“L”后綴(小寫的也可以,但建議使用大寫),在-2147483648~2147483648之間的也可以添加“L”后綴。也就是說12345678901不在-2147483648~2147483648之間,所以它在Java中是錯誤的常量,你必須這樣寫:12345678901L,這才是正確的常量。所以添加了“L”后綴的整數常量都是long類型的,例如:100L、12345678901L都是long類型的常量。 浮點類型的常量也可使用后綴,在Java中所有沒有后綴以及使用“D”后綴(小寫也可以,但建議使用大寫)的小數都是double類型;float類型常量必須添加“F”后綴(小寫也可以,但建議使用大寫)java中默認的浮點類型是double類型 * 3.14沒有后綴,所以它是double類型; * 5.28D為double類型; * 1.26F為float類型。 # 類型轉換 關于數據類型轉換有兩種方式,我們來學習一下: * 自動類型轉換 表示范圍小的數據類型轉換成范圍大的數據類型,這種方式稱為自動類型轉換 自動類型轉換格式: 范圍大的數據類型 變量 = 范圍小的數據類型值; ~~~ 如: double d = 1000; 或 int i = 100; double d2 = i; ~~~ * 強制類型轉換 表示范圍大的數據類型轉換成范圍小的數據類型,這種方式稱為強制類型轉換 強制類型轉換格式: 范圍小的數據類型 變量 = (范圍小的數據類型) 范圍大的數據類型值; ~~~ 如: int i = (int)6.718; //i的值為6 或 double d = 3.14; int i2 = (int)d; //i2的值為3 ~~~ # 基本類型包裝類的常量池 其實java中基本類型的包裝類的大部分都實現了常量池技術。 對包裝類進行賦值時,字面量值在`[-128,127]`間時,將使用常量池中對象,反之則創建新的對象。 * 已實現常量池的類: Byte,Short,Integer,Long, Character,Boolean * 未實現:Float,Double ~~~ public class Cache { public static void main(String[] args){ //實現常量池的包裝類以Long為例 //在值小于127,可以使用常量池 Long i1 = 127L; Long i2 = 127L; System.out.println(i1 == i2);//輸出true //值大于127,不會從常量池中取對象 Long i3 = 128L; Long i4 = 128L; System.out.println(i3 == i4);//輸出false //Boolean類也實現了常量池技術 Boolean bool1 = true; Boolean bool2 = true; System.out.println(bool1 == bool2);//輸出true //浮點類型的包裝類沒有實現常量池技術 Float f1 = 3.0f; Float f2 = 3.0f; System.out.println(f1 ==f 2);//輸出false Double d1 = 1.0; Double d2 = 1.0; System.out.println(d1 == d2);//輸出false } } ~~~ 將基本類型賦值給包裝類時,實際上執行了包裝類的valueOf方法。 以Long為例,看一下相關源碼(其他包裝類常量池實現方法類似) valueOf方法源碼: ~~~ 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); } ~~~ 可以看出,當字面量值在`[-128,127]`間,返回LongCache中的值 再來看LongCache(Long常量池)源碼: ~~~ private static class LongCache { private LongCache(){} static final Long cache[] = new Long[-(-128) + 127 + 1]; static { for(int i = 0; i < cache.length; i++) cache[i] = new Long(i - 128); } } ~~~ LongCache是Long的靜態內部類,虛擬機加載Long類就會將`[-128,127]`的值存儲在`Long cache[]`中。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看