在Java中伍纫,一共有8中基本數(shù)據(jù)類型,其中有4中整型昂芜,2種浮點型莹规,1種用于表示Unicode編碼的字符單元的字符類型char,還有一種用于表示真假值得布爾類型泌神。四種整數(shù)類型和兩種浮點類型的區(qū)別在于位數(shù)不同良漱,因此能表示的數(shù)字范圍也不同舞虱。所有的數(shù)值類型都有正負(fù)號,因此不要去尋找無符號的數(shù)值類型债热。
01:boolean類型砾嫉,取值范圍true或者false,默認(rèn)值為(false)窒篱,大小占1位
02:char類型焕刮,取值范圍Unicode字符,默認(rèn)值為(\u0000)墙杯,大小占16位配并,取值范圍從\u0000到\uFFFF
03:byte類型,有符號的整數(shù)高镐,默認(rèn)值(0)溉旋,大小占8位,取值范圍從-128到127
04:short類型嫉髓,有符號的整數(shù)观腊,默認(rèn)值(0),大小占16位算行,取值范圍從-32768到32767
05:int類型梧油,有符號的整數(shù),默認(rèn)值(0)州邢,大小占32位儡陨,取值范圍從-2147483648到2147483647
06:long類型,有符號的整數(shù)量淌,默認(rèn)值(0)骗村,大小占64位取值范圍從-9223372036854775808到9223372036854775807
07:float類型,IEEE754浮點數(shù)呀枢,默認(rèn)值(0.0)胚股,大小占32位,取值范圍從1.4E-45到3.4028235E+38
08:double類型裙秋,IEEE754浮點數(shù)琅拌,默認(rèn)值(0.0),大小占64位残吩,取值范圍從4.9E-324到1.7976931348623157E+308
還有一個特殊的void類型财忽,沒有大小,沒有值泣侮,通常用來作為方法的空返回使用即彪。
變量就是申請內(nèi)存來存儲值。也就是說,當(dāng)創(chuàng)建變量的時候隶校,需要在內(nèi)存中申請空間漏益。內(nèi)存管理系統(tǒng)根據(jù)變量的類型為變量分配存儲空間,分配的空間只能用來儲存該類型數(shù)據(jù)深胳。因此绰疤,通過定義不同類型的變量,可以在內(nèi)存中儲存整數(shù)舞终、小數(shù)或者字符轻庆。Java每種基本類型所占的空間大小是不變的,這種性質(zhì)使得Java更具有可移植性敛劝。
普通的new對象存儲在“堆”里余爆,所以用new創(chuàng)建一個對象,尤其是小的簡單的變量夸盟,往往不是很有效蛾方,因此Java對于基本類型不是用new來創(chuàng)建變量,而是創(chuàng)建一個并非是“引用”的自動變量上陕,這個變量直接存儲“值”桩砰,并置于堆棧中,因此更加高效释簿。
Java的兩大數(shù)據(jù)類型為內(nèi)置數(shù)據(jù)類型和引用數(shù)據(jù)類型亚隅,其中,內(nèi)置數(shù)據(jù)類型指的就是上面八個基本數(shù)據(jù)類型辕万,每種基本數(shù)據(jù)類型都有對應(yīng)的包裝類型枢步,上面八種對應(yīng)的包裝類依次是Boolean沉删,Character渐尿,Byte,Short矾瑰,Integer砖茸,Long,F(xiàn)loat殴穴,Double凉夯。
對于數(shù)值類型的基本類型的取值范圍,我們無需強制去記憶采幌,因為它們的值都已經(jīng)以常量的形式定義在對應(yīng)的包裝類中了劲够。
例如,int類型的位數(shù)是??Integer.SIZE休傍,取值范圍最小值是Integer.MIN_VALUE征绎,最大值是Integer.MAX_VALUE,其它整數(shù)類型和浮點類型以及字符類型雷同磨取。
布爾類型的取值在包裝類中也有定義分別是Boolean.FALSE和Boolean.TRUE人柿。