上一節(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;
}
}
代碼解析:

注意:
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;
}
}
代碼解析:

注意:浮點型的默認類型為雙精度浮點數(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)換