Posted on 2011-07-17 23:16
セ軍魂ミ 閱讀(1881)
評論(0) 編輯 收藏 所屬分類:
Java核心語法
java數據類型:是一種強類型語言,第一次申明變量必須說明數據類型,第一次變量賦值稱為變量的初始化。
種類:8種基本類型(原生類型):整型:byte 字節型 1Byte=8bit 256中狀態 -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億之間的數 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個位權)f1=5.0F或f
double 雙精度 8Byte=64bit 實際是6+2(2個位權)
布爾類型: boolean
注意:浮點型數據時非精度存儲,整型數據為精確存儲。而數據類型的字面值有默認值:整型為int,實型:為double
double和BigDecimal的區別:double,適合做科學運算
BigDecimal,適合用商業運算
BigDecimal b1 = new BigDecimal("5.0");
BigDecimal b2 = new BigDecimal("3.1");
b1.subtract(b2); 減
b1.divide(b2,4); 除
BigInteger 是用于大數據的。。比如求9的99此方
5種引用類型(對象類型):類 接口 數組 枚舉 標注
空類型:void類型
數據類型的轉換:只有boolean不參與數據類型的轉換
(1).自動類型的轉換:a.常數在表數范圍內是能夠自動類型轉換的
b.數據范圍小的能夠自動數據類型大的轉換(注意特例)
int到float,long到float,long到double 是不會自動轉換的,不然將會丟失精度
c.引用類型能夠自動轉換為父類的
d.基本類型和它們包裝類型是能夠互相轉換的
(2).強制類型轉換:用圓括號括起來目標類型,置于變量前
8中基本類型的包裝類:Byte Short Integer Long Character Float Double Boolean
基本類型的優勢:數據存儲相對簡單,運算效率比較高
包裝類的優勢:有的容易,比如集合的元素必須是對象類型,滿足了java一切皆是對象的思想
引用類型:底層結構和基本類型差別較大
首先介紹下JVM的內存空間:(1). Heap 堆空間:分配對象 new Student()
(2). Stack 棧空間:臨時變量 Student stu
(3).Code 代碼區 :類的定義,靜態資源 Student.class
eg:Student stu = new Student();
stu.study();
//new 在內存的堆空間創建對象
//把對象的地址賦給stu引用變量
上例實現步驟:a.JVM加載Student.class 到Code區
b.new Student()在堆空間分配空間并創建一個Student實例
c.將此實例的地址賦值給引用stu, 棧空間
以上就我在數據類型中所認為比較重要的內容,希望能給一些人帶來幫助,若有人還有更多重要的知識,請提出,大家一起分享、學習哦!謝謝