Java語(yǔ)言是靜態(tài)類型的(statical typed),也就是說所有變量和表達(dá)式的類型再編譯時(shí)就已經(jīng)完全確定。Java語(yǔ)言也是強(qiáng)類型(Strong typed)的政己。強(qiáng)類型意味著每個(gè)變量都具有一種類型,每個(gè)表達(dá)式具有一種類型砰左,并且每種類型都是嚴(yán)格定義的,類型限制了變量可以存儲(chǔ)哪些值场航,表達(dá)式最終產(chǎn)生什么值缠导。同時(shí)限制了這些值可以進(jìn)行的操作類型以及操作的具體方式。所有的賦值操作溉痢,無(wú)論是顯式的還是在方法調(diào)用中通過參數(shù)傳遞僻造,都要進(jìn)行類型兼容性檢查。簡(jiǎn)單地說孩饼,類型限定數(shù)據(jù)的取值范圍和操作方法髓削。
每個(gè)變量都必須聲明一種類型(Type)。類型分類兩大類:
基本數(shù)據(jù)類型Primitive Type
引用數(shù)據(jù)類型Reference Type
引用類型引用對(duì)象镀娶,而基本數(shù)據(jù)類型直接包含值立膛。
Java基本數(shù)據(jù)類型包括boolean類型以及數(shù)值類型。數(shù)值類型又分為整型類型和浮點(diǎn)型梯码。整型有5種:byte 旧巾,short, int忍些,long 鲁猩,char(char本質(zhì)上是一種特殊的整數(shù)類型)。浮點(diǎn)類型有float和double罢坝。
Java引用類型包括:類廓握,接口,注解嘁酿,枚舉和數(shù)組隙券,后面的章節(jié)將陸續(xù)學(xué)到。
另外闹司,null是一種特殊的類型娱仔,但是不能聲明一個(gè)變量為null類型,null 類型的唯一取值就是null游桩。null可以賦值值給任意的引用類型或者轉(zhuǎn)化成任意的引用類型牲迫。在實(shí)踐中,一般把null當(dāng)做字面量(literal)借卧,這個(gè)字面量可是是任意的引用類型盹憎。