<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智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                ## Java專題一:數據類型 [TOC] | 數據類型 |封裝類 | |--|--| |byte | Btye | |short| Short| |int| Integer| |long| Long| |float| Float| |double| Double| |boolean| Boolean| |String| -| ### 1.1. 數據類型分類 - 基本數據類型:`byte`、`short`、`int`、`long`、`float`、`double`、`boolean` - 引用數據類型:對象Object,包括`String` ### 1.2. 浮點類型 float、double的精確計算 先做一個簡單的減法運算: ~~~ System.out.println(4.0-3.6); ~~~ 輸出為`0.3999999999999999`,跟我們的預期`0.4`結果完全不同,沒有精確表示,這時可以用BigDecimal來精確計算,計算結果為`0.4` ~~~ BigDecimal b1 = BigDecimal.valueOf(4.0); BigDecimal b2 = BigDecimal.valueOf(3.6); System.out.println(b1.subtract(b2)); ~~~ ### 1.3. byte、short、int、long的封裝類型緩存機制 Btye、Short、Integer、Long類中都存在內部私有類ByteCache、ShortCache、IntegerCache、LongCache,這些內部類都是為了支持Java的自動裝箱機制操作(參考第2點)。 ```java Integer i1 = 1; Integer i2 = 1; System.out.println(i1==i2); ``` 答案是true, 一般前后聲明2個對象,直接使用運算符==判斷相等都是返回false,但這里返回的是true,是因為IntegerCache機制,i1和i2是同一個對象。 ### 1.4. 自動裝箱與拆箱 在java中,有時你可能會懷疑如下問題: **問題一**:對象怎么可以直接賦值給一個基本數據類型呢? ```java int a = new Integer(12); ``` **問題二**:對于元素固定為封裝數據類型的集合類來說,怎么能插入基本數據類型呢? ```java List list = new ArrayList<Integer>(); list.add(12); ``` 其實在問題一可以分解成如下代碼: ```java Integer aa = new Integer(12); int a = aa.intValue(); ``` 問題二可以分解成如下代碼: ```java List list = new ArrayList<Integer>(); Integer aa = Integer.valueOf(12); list.add(aa); ``` 這些就是Java中默認在基本數據類型和封裝數據類型之間的默認轉換,也成為自動裝箱和自動拆箱,再總結一下: **自動裝箱:** 基本數據類型自動轉換成對應封裝類型, 如int轉為Integer對象。 **自動拆箱:** 封裝類型自動轉換成對應基本數據類型,如Integer對象轉為int。
                  <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>

                              哎呀哎呀视频在线观看