Java中九種基礎資料型別 (Elementary Data Type)以及他們的封裝類__java

來源:互聯網
上載者:User

Java有兩種有效資料類型 未經處理資料類型 引用資料類型 未經處理資料類型

Java支援8種未經處理資料類型。 位元組型(byte) 位元組型是一種8位的有正負的二進位整數 最小值是-128 (-2^7) 最大值是127(2^7 - 1) 預設值是0 位元組類型主要是為了在電腦記憶體中節省空間的,位元組型比整數型小了4倍 封裝類 java.lang.Byte 短數型(short) 短數型是16位有正負的二進位整數 最小值是-32768(-2^15) 最大值是32767(2^15 - 1) 短數型也是為了節省記憶體空間,短數型比整數小2倍 預設值0 封裝類java.lang.Short 整數型(int) 整數型是一種32位的有正負的位元 最小值是 - 2,147,483,648(-2^31) 最大值是 2,147,483,647(2^31 -1) 預設值是0 一般被應用於整數值,一般都夠用 封裝類java.lang.Integer 長整型(long) 長整型是一種64位的有正負的位元 最小值是 -9,223,372,036,854,775,808(-2^63) 最大值是 9,223,372,036,854,775,807 (2^63 -1) 這種資料類型一般使用在比整數範圍更大的應用中 預設值是0L 封裝類是java.lang.Long 浮點型(float) 浮點型是一種單精確度的32位IEEE754標準下的浮點數據 主要是為了在大型浮點數組中節省資料 預設值是0.0f 浮點型不能用於貨幣等類似的精確資料中 封裝類是java.lang.Float 雙精確度型(double) 雙精確度型是一種雙精確度哦4位的IEEE754標準下的浮點數據 雙精確度一般被用於預設是小數的值 一般不能使用者貨幣等精確資料中 預設值是0.0d 封裝類是java.lang.Double 布爾型(boolean) 布爾型資料代表一種資訊位元 布爾型只有兩種資料表現:真(true) 和假(false) 一般使用者判斷語句 布爾型預設是false 封裝類是:java.lang.Boolean 字元型(char) 字元型資料是簡單的 16 位 Unicode 標準下的字元 最小值是: ‘\u0000’ (或 0) 最大值是: ‘\uffff’ (或 65,535 ) 字元型資料可以用來儲存任意字母 封裝類:java.lang.Character 引用資料類型 引用資料類型是由類的編輯器定義的,他們是用於訪問對象的。這些變數被定義為不可更改的特定類型 例如:Employee, Puppy 等等 類對象和陣列變數就是這種引用資料類型 任何引用資料類型的預設值都為空白 一個引用資料類型可以被用於任何宣告類型和相容類型的對象

java還存在一種資料類型void,封裝類是java.lang.Void,因為無法對它進行直接操作,所以不再描述。
基礎資料型別 (Elementary Data Type)在虛擬機器中可以喝它們的封裝類直接裝換,速度很快,所以我們在賦值、傳值的時候可以像使用基礎資料型別 (Elementary Data Type)一樣使用它們的封裝類,但是不代表基礎資料型別 (Elementary Data Type)可以調用封裝類的方法,因為基礎資料型別 (Elementary Data Type)都是final修飾的,所以不能繼承擴充新的類,也無法重新新的方法。 說說基礎資料型別 (Elementary Data Type)和它們的封裝類有何區別

int 是基本類型,直接存數值
Integer是類,產生對象時用一個引用指向這個對象

Java把記憶體劃分成兩種:一種是棧記憶體,另一種是堆記憶體
在函數中定義的一些基本類型的變數和對象的引用變數都是在函數的棧記憶體中分配
而實際的對象是在儲存堆記憶體中

int i = 5;//直接在棧中分配空間
Integer i = new Integr(5);//對象是在堆記憶體中,而i(引用變數)是在棧記憶體中
在堆中分配的記憶體,由java虛擬機器的自動記憶體回收行程來管理.
因為在堆中分配空間所需的時間遠大於從棧中分配儲存空間,所以JAVA速度比C 慢
當需要往ArrayList,HashMap中放東西時,像int,double這種基本類型是放不進去的,因為容器都是裝object的,這是就需要這些基本類型的外覆類了。Java中每種基本類型都有相應的外覆類。
int 和 Integer 的區別

java 提供兩種不同的類型:參考型別(或者封裝類型,Warpper)和原始類型(或內建類型,Primitive)。Int是java的未經處理資料類型,Integer是java為int提供的封裝類。Java為每個原始類型提供了封裝類。
原始類型 封裝類
boolean Boolean
char Character
byte Byte
short Short
int Integer
long Long
float Float
double Double
參考型別和原始類型的行為完全不同,並且它們具有不同的語義。參考型別和原始類型具有不同的特徵和用法,它們包括:大小和速度問題,這種類型以哪種類型的 資料結構儲存,當參考型別和原始類型用作某個類的執行個體資料時所指定的預設值。對象引用執行個體變數的預設值為 null,而原始類型執行個體變數的預設值與它們的類型有關。

int 是基本類型,(int)(Math.Random()*100)就是一個數,可以進行加見乘除。 Integer是class ,那麼 new Integer(temp)就是一個對象了,可以用到Integer這個class的方法,例如用intvalue()可以返回這個int的值。

參考:http://my.oschina.net/Bruce370/blog/511431#OSC_h3_2
http://blog.sina.com.cn/s/blog_4fdb887b0101479q.html

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.