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