java數(shù)據(jù)類型:是一種強類型語言,第一次申明變量必須說明數(shù)據(jù)類型,第一次變量賦值稱為變量的初始化。
種類:8種基本類型(原生類型):整型:byte 字節(jié)型 1Byte=8bit 256中狀態(tài) -128~+127
short 短整型 2Byte=16bit 64436 -32768~32767
int 整型 4Btye=32bit 2^32 -2147483648~+2147483647
2^31=2^10*2^10*2^10*2
大約在正負21億之間的數(shù) k k k 2 =2G
long 長整型 8Byte=64bit -2^63~2^63-1
char 字符型 2Byte=16bit 0~65535
1+2+'a'+1+2等價于1+2+97+1+2
浮點型/實型:float 單精度 4Byte=32bit 實際是3+1(1個位權(quán))f1=5.0F或f
double 雙精度 8Byte=64bit 實際是6+2(2個位權(quán))
布爾類型: boolean
注意:浮點型數(shù)據(jù)時非精度存儲,整型數(shù)據(jù)為精確存儲。而數(shù)據(jù)類型的字面值有默認值:整型為int,實型:為double
double和BigDecimal的區(qū)別:double,適合做科學(xué)運算
BigDecimal,適合用商業(yè)運算
BigDecimal b1 = new BigDecimal("5.0");
BigDecimal b2 = new BigDecimal("3.1");
b1.subtract(b2); 減
b1.divide(b2,4); 除
BigInteger 是用于大數(shù)據(jù)的。。比如求9的99此方
5種引用類型(對象類型):類 接口 數(shù)組 枚舉 標注
空類型:void類型
數(shù)據(jù)類型的轉(zhuǎn)換:只有boolean不參與數(shù)據(jù)類型的轉(zhuǎn)換
(1).自動類型的轉(zhuǎn)換:a.常數(shù)在表數(shù)范圍內(nèi)是能夠自動類型轉(zhuǎn)換的
b.數(shù)據(jù)范圍小的能夠自動數(shù)據(jù)類型大的轉(zhuǎn)換(注意特例)
int到float,long到float,long到double 是不會自動轉(zhuǎn)換的,不然將會丟失精度
c.引用類型能夠自動轉(zhuǎn)換為父類的
d.基本類型和它們包裝類型是能夠互相轉(zhuǎn)換的
(2).強制類型轉(zhuǎn)換:用圓括號括起來目標類型,置于變量前
8中基本類型的包裝類:Byte Short Integer Long Character Float Double Boolean
基本類型的優(yōu)勢:數(shù)據(jù)存儲相對簡單,運算效率比較高
包裝類的優(yōu)勢:有的容易,比如集合的元素必須是對象類型,滿足了java一切皆是對象的思想
引用類型:底層結(jié)構(gòu)和基本類型差別較大
首先介紹下JVM的內(nèi)存空間:(1). Heap 堆空間:分配對象 new Student()
(2). Stack 棧空間:臨時變量 Student stu
(3).Code 代碼區(qū) :類的定義,靜態(tài)資源 Student.class
eg:Student stu = new Student();
stu.study();
//new 在內(nèi)存的堆空間創(chuàng)建對象
//把對象的地址賦給stu引用變量
上例實現(xiàn)步驟:a.JVM加載Student.class 到Code區(qū)
b.new Student()在堆空間分配空間并創(chuàng)建一個Student實例
c.將此實例的地址賦值給引用stu, 棧空間
以上就我在數(shù)據(jù)類型中所認為比較重要的內(nèi)容,希望能給一些人帶來幫助,若有人還有更多重要的知識,請?zhí)岢觯蠹乙黄鸱窒怼W(xué)習(xí)哦!謝謝
種類:8種基本類型(原生類型):整型:byte 字節(jié)型 1Byte=8bit 256中狀態(tài) -128~+127
short 短整型 2Byte=16bit 64436 -32768~32767
int 整型 4Btye=32bit 2^32 -2147483648~+2147483647
2^31=2^10*2^10*2^10*2
大約在正負21億之間的數(shù) k k k 2 =2G
long 長整型 8Byte=64bit -2^63~2^63-1
char 字符型 2Byte=16bit 0~65535
1+2+'a'+1+2等價于1+2+97+1+2
浮點型/實型:float 單精度 4Byte=32bit 實際是3+1(1個位權(quán))f1=5.0F或f
double 雙精度 8Byte=64bit 實際是6+2(2個位權(quán))
布爾類型: boolean
注意:浮點型數(shù)據(jù)時非精度存儲,整型數(shù)據(jù)為精確存儲。而數(shù)據(jù)類型的字面值有默認值:整型為int,實型:為double
double和BigDecimal的區(qū)別:double,適合做科學(xué)運算
BigDecimal,適合用商業(yè)運算
BigDecimal b1 = new BigDecimal("5.0");
BigDecimal b2 = new BigDecimal("3.1");
b1.subtract(b2); 減
b1.divide(b2,4); 除
BigInteger 是用于大數(shù)據(jù)的。。比如求9的99此方
5種引用類型(對象類型):類 接口 數(shù)組 枚舉 標注
空類型:void類型
數(shù)據(jù)類型的轉(zhuǎn)換:只有boolean不參與數(shù)據(jù)類型的轉(zhuǎn)換
(1).自動類型的轉(zhuǎn)換:a.常數(shù)在表數(shù)范圍內(nèi)是能夠自動類型轉(zhuǎn)換的
b.數(shù)據(jù)范圍小的能夠自動數(shù)據(jù)類型大的轉(zhuǎn)換(注意特例)
int到float,long到float,long到double 是不會自動轉(zhuǎn)換的,不然將會丟失精度
c.引用類型能夠自動轉(zhuǎn)換為父類的
d.基本類型和它們包裝類型是能夠互相轉(zhuǎn)換的
(2).強制類型轉(zhuǎn)換:用圓括號括起來目標類型,置于變量前
8中基本類型的包裝類:Byte Short Integer Long Character Float Double Boolean
基本類型的優(yōu)勢:數(shù)據(jù)存儲相對簡單,運算效率比較高
包裝類的優(yōu)勢:有的容易,比如集合的元素必須是對象類型,滿足了java一切皆是對象的思想
引用類型:底層結(jié)構(gòu)和基本類型差別較大
首先介紹下JVM的內(nèi)存空間:(1). Heap 堆空間:分配對象 new Student()
(2). Stack 棧空間:臨時變量 Student stu
(3).Code 代碼區(qū) :類的定義,靜態(tài)資源 Student.class
eg:Student stu = new Student();
stu.study();
//new 在內(nèi)存的堆空間創(chuàng)建對象
//把對象的地址賦給stu引用變量
上例實現(xiàn)步驟:a.JVM加載Student.class 到Code區(qū)
b.new Student()在堆空間分配空間并創(chuàng)建一個Student實例
c.將此實例的地址賦值給引用stu, 棧空間
以上就我在數(shù)據(jù)類型中所認為比較重要的內(nèi)容,希望能給一些人帶來幫助,若有人還有更多重要的知識,請?zhí)岢觯蠹乙黄鸱窒怼W(xué)習(xí)哦!謝謝