Java變量類型有哪些?
學習java首先就要了解java變量類型有哪些,這是必學的一點,現在小編總結了一些重要知識點,希望能對大家有所用處。
java的數據類型相關知識點?
總結就是八個字:數據二型,四類八種;
java基本數據類型:1.邏輯類:boolean
布爾類型,它比較特殊,布爾類型只允許存儲true(真)或者false(假),不可以用0或者非0表示,可以使用1bit來存儲,但是具體大小沒有明確規定。JVM會在編譯時期將boolean類型的數據轉,換為int,使用1來表示true,0表示false。JVM支持boolean數組,但是是通過讀寫byte數
組來實現的。
2.文本類:char
字符類型,它在內存中占用2個字節,也就是16bit,因為java本身的字符集不是用ASCII碼來存儲的,而是用的16位的Unicode字符集,所以它的字符存儲范圍也就是'u0000--uffff',默認值呢?就是'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.浮點類:不聲明小數類型的情況下,默認為doublefloat:單精度浮點型,在內存中占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(16bit)|byte(1bit)-\\u003eshort(16bit)-\\u003eint(32bit)-\\u003elong(64bit)||float(32bit)double(64bit)根據類型所占內存大小,小可轉大,大轉小會失去精度
引用數據類型:基本類型和引用類型的關系:基本類型二進制位數包裝器類(引用類型)boolean1Boolean
byte8Byte
char16Character
short16Short
int32Integer
long64Long
float32Float
double64Double
對于取值范圍,在對應的包裝器類中有常量已經聲明:基本類型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就可以完成基本類型和它們對應包裝類之間的自動轉換。因此我們在賦值、參數傳遞以及數學運算的時候
就可以像使用基本類型一樣使用它們的包裝類,但這并不意味著你可以通過基本類型調用它們的包裝類才具有
的方法。另外,所有基本類型的包裝類都使用了final修飾,因此我們無法繼承它們擴展新的類
也無法重寫它們的任何方法。而引用數據類型是存儲在堆中的.
2.基本類型的優勢:數據存儲相對簡單,運算效率比較高
3.包裝類的優勢:有的容易,比如集合的元素必須是對象類型,滿足了java一切皆是對象的思想
4.聲明方式不同,基本類型不適用new關鍵字,而包裝類型需要使用new關鍵字來在堆中分配存儲空間;
5.存儲方式及位置不同,基本類型是直接將變量值存儲在堆棧中,而包裝類型是將對象放在堆中,然后通過引用來使用;
6.初始值不同,基本類型的初始值如int為0,boolean為false,而包裝類型的初始值為null
7.使用方式不同,基本類型直接賦值直接使用就好,而包裝類型在集合如Collection、Map時會使用到。
手機瀏覽
全國
19974831731





