<4> Java的數(shù)據(jù)類型

上一節(jié)我們把我們的第一個程序運行起來了,這一節(jié)我們開始我們Java基礎(chǔ)的學習。先對程序的數(shù)據(jù)類型進行介紹吧。

一、數(shù)據(jù)類型簡介

在Java中,數(shù)據(jù)類型主要分基本數(shù)據(jù)類型和引用數(shù)據(jù)類型,下面來科普一下這兩種數(shù)據(jù)類型到底是什么。

基本數(shù)據(jù)類型:主要包括整數(shù)、浮點數(shù)、字符、布爾這四類。
整數(shù):很好理解,就是我們數(shù)學里的整數(shù),如1,100,123,......。例如人的歲數(shù),出生年月日,均是整數(shù)。
浮點數(shù):這個就是我們數(shù)據(jù)里的小數(shù),帶有小數(shù)點的,在Java里叫浮點數(shù)而已。如5.2,4.8等等。例如人的身高。
字符:可以把它理解成字,就像“我愛你”,這種就是字符。例如人的姓名
布爾:這個就是我們邏輯中的“是”和“否”,在程序時就是true和false。例如是否為男性。
以上四類就是我們Java中的四類基本數(shù)據(jù)類型。

引用數(shù)據(jù)類型:主要包括類、數(shù)組、接口這三類。
類:可以理解成一個整體,如人,動物等,由基本數(shù)據(jù)類型組成,人均有歲數(shù)、身高、出生年月日、性別等屬性。
數(shù)組:可以理解成一種群體的集合,如一群人,這些集合里的個體都是同樣類型的。如足球隊,都是球員組成。
接口:它是Java的一個抽象概念,為一類群體抽取的一個模型,例如人是一個接口,美國人,中國人就是這個模型創(chuàng)建出來的,具有相同的特征。

上述的解釋可能比較抽象,但是大致了解他們的區(qū)別即可,不需要完全理解,在后面的開發(fā)中慢慢就會理解這些概念了。

二、基本數(shù)據(jù)類型

我們先從基本數(shù)據(jù)類型來逐個介紹,并且在程序中如何使用他們。

1、整數(shù)

整數(shù)主要分:字節(jié)、短整數(shù)、整數(shù)和長整數(shù)三種,它們的區(qū)別是范圍長度不同。
字節(jié)的長度為1個字節(jié),數(shù)字范圍為:-128—127,代碼中的標識為byte。
短整數(shù)的長度為2個字節(jié),數(shù)字范圍為:-32768 ~ 32767,代碼中的標示為short。
整數(shù)的長度為4個字節(jié),數(shù)字范圍為:-2147483648 ~ 2147483647,代碼中的標示為int,這種類型也是Java中的整數(shù)的默認類型。
長整數(shù)的長度為8個字節(jié),數(shù)字范圍為:-9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807,代碼中的標示為long。

注意:不需要去記憶這些整型的具體長度,在日常開發(fā)中經(jīng)常只是使用到int類型而已。
這部分主要需要理解的內(nèi)容為:整數(shù)有分三種,它們的區(qū)別是長度,并且三種的符號分別是short、int和long即可。

代碼中的使用:

public class HelloWorld {
    public static void main(String[] args) {
        byte bMin = -128;
        byte bMax = 127;
        byte bError = -129;

        short sMin = -32768;
        short sMan = 32767;
        short sError = -32769;

        int iMin = -2147483648;
        int iMax = -2147483648;
        int iError = -2147483649;

        long lMin = -9223372036854775808l;
        long lMax = 9223372036854775807l;
        long lError = -9223372036854775809l;
    }
}

代碼解析:


整型代碼解析.png

注意:
1、長整型的數(shù)字最后為什么需要加一個L,原因是整型的默認類型為int,所以數(shù)字-9223372036854775808程序認為是int類型的,所以不加L會報錯,加了L就是告訴程序,我這個數(shù)字是個長整型的。

2、浮點數(shù)(小數(shù))

浮點數(shù)主要分:單精度浮點數(shù)和雙精度浮點數(shù),它們的區(qū)別也是范圍長度不同。
單精度浮點數(shù)的長度為4個字節(jié),float的精度為7~8位有效數(shù)字,代碼的標示為:float。
雙精度浮點數(shù)的長度為8個字節(jié),double的精度為16~17位,代碼的標示為:double,是Java中浮點數(shù)的默認類型。

代碼中的使用:

public class HelloWorld {
    public static void main(String[] args) {
        float ff = 2.2;//報錯:默認2.2是double類型,精度高于float。高精度向低精度賦值會報錯
        float fs = 2.2f;
        double fb = 2.2f; //低精度向高精度賦值是允許的
        double fd = 2.2;
    }
}

代碼解析:


浮點型代碼解析.png

注意:浮點型的默認類型為雙精度浮點數(shù)double,所以float的賦值數(shù)據(jù)需要在數(shù)據(jù)后面加一個f,告訴程序該數(shù)據(jù)都float類型。
低精度可以賦值給高精度,但是高精度不能給低精度賦值,否則出現(xiàn)數(shù)據(jù)失真,丟失精度。

3、字符

字符(char)的長度為2個字節(jié),它是無符號型,范圍為0—65535,是一個16位二進制的Unicode字符。

byte與ASCII的關(guān)系:

byte的數(shù)據(jù)對ASCII的字母是對應(yīng)關(guān)系,例如下面程序。

public static void main(String[] args) {
       byte g = 'b';
       System.out.println(g);
}

打印輸出為:98,證明'b'字符對應(yīng)byte數(shù)值為98。

byte與char的關(guān)系:

我們都知道,char是存字符的,但是其實char也是可以直接存整型,但是其代表的是整型所對應(yīng)的字符,例如下面代碼:

public static void main(String[] args) {
       char i = 85;
       System.out.println(i);
}

打印輸出為:U,證明85對應(yīng)字符為U字符。

4、布爾

布爾類型(boolean),長度為1個字節(jié),其只有兩個值:true、flase,沒有其他值,true存1,false存0。

以上的則為Java對應(yīng)的所有基本數(shù)據(jù)類型。

三、引用數(shù)據(jù)類型

該部分不需要太理解這部分的數(shù)據(jù)類型,后續(xù)學習過程中,慢慢就能了解到類、數(shù)組、接口等概念。

四、數(shù)據(jù)類型的轉(zhuǎn)換

1、自動轉(zhuǎn)換

2、強制轉(zhuǎn)換

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容