更新時間:2020-07-03 15:56:07 來源:動力節點 瀏覽4505次
總結就是八個字:
數據2型,四類八種(個人理解,僅供參考)
解析圖如下:
1.邏輯類:boolean 布爾類型,它比較特殊,布爾類型只允許存儲true(真)或者false(假),不可以用0或者非0表示 可以使用 1 bit 來存儲,但是具體大小沒有明確規定。JVM 會在編譯時期將 boolean 類型的數據轉 換為 int,使用 1 來表示 true,0 表示 false。JVM 支持 boolean 數組,但是是通過讀寫 byte數 組來實現的。
2.文本類:char 字符類型,它在內存中占用2個字節,也就是16 bit,因為java本身的字符集不是用ASCII碼來存儲的, 而是用的16位的Unicode字符集,所以它的字符存儲范圍也就是'\u0000 -- u\ffff',默認值呢?就是'\u0000'
3.整數類: 下面從小到大來一一介紹:
byte:可以說是java中最少的數據類型了,它在內存中占用1個字節,也就是8位(bit),值得范圍是:-128~127, 也就是-2的7次方到2的7次方減一,默認值是0B.
short:短整型,它在內存中占用的是2個字節,16位,值得取值范圍是-32768~32767,也就是-2的15次方到2的15次方減一, 默認值也是0S.
int:整型,在內存中占4個字節,32位,值得取值范圍是-2147483648~2147483647,也就是-2的31次方到2的31次方減一, 默認值還是0
long:長整型,在內存中占8個字節,64位,值的取值范圍是-2的63次方到2的63次方減一,默認值要注意了,因為是長整型, 所以默認是雖說是0,但是準確的說是0L,必須要加上L來表示它是long類型,不加就成了int類型了.
4.浮點類: 不聲明小數類型的情況下,默認為double
float :單精度浮點型, 在內存中占4個字節,32位,主要用來存儲小數的,但是有限制,有效小數位只有6~7位,默認是0.0f , 取值范圍是:3.402823e+38 ~ 1.401298e-45(e+38表示是乘以10的38次方,同樣,e-45表示 乘以10的負45次方)
double:雙精度浮點型,在內存中占8個字節,64位,也是用來存儲小數的,默認是0.0,取值范圍是1.797693e+308 到 4.9000000e-324(e+308表示是乘以10的308次方,同樣,e-324表示乘以10的負324次方)
數據類型轉換(boolean不參與數據類型的轉換):
????char(16?bit)
|
byte(1?bit)?->??short(16?bit)??->?int(32?bit)??->?long(64?bit)
|????????????????|
?????float(32?bit)????double(64?bit)
根據類型所占內存大小,小可轉大,大轉小會失去精度
基本類型和引用類型的關系 | ||
---|---|---|
基本類型 | 二進制位數 | 包裝器類(引用類型) |
boolean | 1 | Boolean |
byte | 8 | Byte |
char | 16 | Character |
short | 16 | Short |
int | 32 | Integer |
long | 64 | Long |
float | 32 | Float |
double | 64 | Double |
對于取值范圍,在對應的包裝器類中有常量已經聲明:
基本類型byte 二進制位數:Byte.SIZE最小值:Byte.MIN_VALUE最大值:Byte.MAX_VALUE
基本類型short二進制位數:Short.SIZE最小值:Short.MIN_VALUE最大值:Short.MAX_VALUE
基本類型char二進制位數:Character.SIZE最小值:Character.MIN_VALUE最大值:Character.MAX_VALUE
基本類型double 二進制位數:Double.SIZE最小值:Double.MIN_VALUE最大值:Double.MAX_VALUE
兩者的異同:
1.Java基本類型存儲在棧中,因此它們的存取速度要快于存儲在堆中的對應包裝類的實例對象。從Java1.5開始,JVM就可以完成基本類型和它們對應包裝類之間的自動轉換。因此我們在賦值、參數傳遞以及數學運算的時候就可以像使用基本類型一樣使用它們的包裝類,但這并不意味著你可以通過基本類型調用它們的包裝類才具有的方法。另外,所有基本類型(包括void)的包裝類都使用了final修飾,因此我們無法繼承它們擴展新的類也無法重寫它們的任何方法。而引用數據類型是存儲在堆中的.
2.基本類型的優勢:數據存儲相對簡單,運算效率比較高
3.包裝類的優勢:有的容易,比如集合的元素必須是對象類型,滿足了java一切皆是對象的思想
4.聲明方式不同,基本類型不適用new關鍵字,而包裝類型需要使用new關鍵字來在堆中分配存儲空間;
5.存儲方式及位置不同,基本類型是直接將變量值存儲在堆棧中,而包裝類型是將對象放在堆中,然后通過引用來使用;
6.初始值不同,基本類型的初始值如int為0,boolean為false,而包裝類型的初始值為null
7.使用方式不同,基本類型直接賦值直接使用就好,而包裝類型在集合如Collection、Map時會使用到
以上就是動力節點java培訓機構的小編針對“Java基本數據類型有哪些?相關知識點總結”的內容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業老師隨時為你服務。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習