????在java世界當中,數(shù)據(jù)類型分為基本數(shù)據(jù)類型與引用數(shù)據(jù)類型兩大類?;緮?shù)據(jù)類型一共有八種,按照存取數(shù)據(jù)的“長相”可以再分為整型、浮點型(即小數(shù))、字符型與布爾型。
????在介紹基本數(shù)據(jù)類型之前,我們先引入比特(bit)與字節(jié)的概念。比特是表示信息的最小單位,是二進制數(shù)的一位包含的信息或2個選項中特別指定1個的需要信息量,1字節(jié)等于8比特。舉個例子來說,取二進制中的一個數(shù)1010000110100110,這個數(shù)的每一位都被稱作一個比特位,共16比特,或2字節(jié)。知道了“比特”和“字節(jié)”,下面我們來介紹這八種基本數(shù)據(jù)類型。
? ? 首先介紹整型,按照存儲單位的大小,分為byte、short、int和long。byte(字節(jié)型)占1個字節(jié),即8個比特位,也就是說它取值范圍為00000000~11111111,那么對應我們日常生活中的十進制就是0~511嗎?答案是否定的,不然負數(shù)該怎么辦。為了引入負數(shù),程序員前輩們讓這8個比特位中的第1個表示符號,令0表示正號,1表示負號,這樣byte的取值范圍對應十進制就成了-218-217。當需要存儲的整數(shù)超過了byte的取值范圍后,就要用到了剩下的三種整型基本類型——short、int、long,分別占2個字節(jié)、4個字節(jié)和8個字節(jié),與byte相同,它們的第一個比特位都代表符號。如果我們要存儲的數(shù)字更大,超過了long類型的最大值,那么我們就要將它存儲在引用數(shù)據(jù)類型——BigInteger中。讓我們來考慮一個問題,為什么整數(shù)要被分為四個基本類型呢?一方面是為了避免內存空間問題,盡量去壓縮空間(例如一個占用內存2G的程序放在內存只有1G的手機上是不可能的);另一方面,一般情況下這四個就已經夠用了~。
? ? 接下來是浮點型,按照精確程度可以被分為兩種——float和double,分別占用4個字節(jié)和8個字節(jié),其有效位數(shù)分別為8位與16位。其中,由于小數(shù)默認位double類型的,所以在聲明float類型并賦值時,要在小數(shù)后面加上f或F,例如float a = 3.14f。
????最后是字符型char(兩個字節(jié))和布爾型boolean(1個比特位)。char是單詞“character”的縮寫,不過被讀作“cha(四聲)”,它被用來存儲一個字符,即是指我們鍵盤上能打出來的任何一個字或符號,注意,是一個。但由于數(shù)字既可以被認為是整數(shù),又可以被認為是字符,故每一個字符前后各加單引號以示區(qū)分。而boolean型只存儲兩個值——true和false,所以只需要占用1個比特位,令0代表false,1代表true即可。
