日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java基础笔记之数据类型

發布時間:2023/12/2 java 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java基础笔记之数据类型 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
  • 一、數據類型

    (一)8種基本數據類型(內置數據類型\C#中為值類型)

    • 字符長度:1byte = 8 bit;
    • 布爾:可認為是 1byte (8 bit);
    • 字符
    • char:2/16
    • 整型:
    • short: 2/16
    • int: 4/32
    • long: 16/64
    • 浮點型:
    • float: 8/32
    • double: 16/64

    (二)包裝類型(與基本數據類型一一對應,把基本數據類型封裝成對象的形式)

    • 裝箱和拆箱
    • 裝箱:基本類型 -> 引用類型;
    • 拆箱:引用類型 -> 基本類型;
    • 基本數據類型與其包裝類的對應表

    • 注意:包裝類型屬于類;

    • 理解

    • 自動裝箱和拆箱:
    • Integer x = new Integer(3); //非自動裝箱寫法 Integer x = 2; // 自動裝箱寫法 int y = x; // 自動拆箱寫法

      ?

    • 什么是自動裝箱和拆箱?:

    答:
    Java中基礎數據類型與它們的包裝類進行運算時,編譯器會自動幫我們進行轉換,轉換過程對程序員是透明的,這就是裝箱和拆箱。

    自動裝箱和拆箱精講(筆試面試重點)

    自動裝箱過程是通過調用包裝器的valueOf方法實現的,而拆箱過程是通過調用包裝器的 xxxValue方法實現的。(xxx代表對應的基本> 數據類型)。

    • 裝箱和自動裝箱的區別

    手動裝箱直接使用 new Integer(3) 方法,而自動裝箱則是使用 valueOf(int) 方法;
    兩方法的區別:valueOf(int)方法種包含緩存池new Integer(int), 代碼如下,對代碼的解讀如下:

    • 自動裝箱使用的方法

    valueOf(int):

    public static Integer valueOf(int i) {if( i >= -128 && i <= IntegerCache.high)return IntegerCache.cache[i + 128];elsereturn new Integer(i);}

    ?

    代碼解讀:如果數值在[-128,127]之間,便返回指向IntegerCache.cache(就是緩存池)中已經存在的對象的引用,若緩存池中不存在這樣的對象就new一個新的Integer(x);如果不在[-128,127],則直接創建一個新的Integer對象。

    • 題目1:判斷下列代碼的輸出結果 true/false;
    public class Main {public static void main(String[] args) {Integer i1 = 100;Integer i2 = 100;Integer i3 = 200;Integer i4 = 200; System.out.println(i1==i2); //trueSystem.out.println(i3==i4); //false } }

    ?

    解析:Integer i1 = 100;執行自動裝箱,此時緩存池種沒有這個對象,故new一個 Integer對象,并把它存到緩存池,當執行 Integer i2 = 100;時, 首先判斷其范圍i,在[-128,127]之間,故直接到緩存池中找看有沒有已存在數值相同的對象,有則直接返回該對象,正好,我們第一步剛存的i1就是這樣的對象,所以直接返回i1創建的對象給i2,所以,i1和i2其實是一個對象,所以 i1 == i2是正確的。而三四句,i3 和 i4都不在[-128,127]內,所以直接創建兩個新的 Integer對象,所以i3和i4是兩個不同的對象,i3自然不等于i4,不過 i3.equlas(i4)是對的。

轉載于:https://www.cnblogs.com/CherishTheYouth/p/CherishTheYouth_2019_0724.html

總結

以上是生活随笔為你收集整理的Java基础笔记之数据类型的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。