您好,登錄后才能下訂單哦!
本篇內容介紹了“java中有什么引用數據類型”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
Java中有倆種數據類型,其中主要有8中基本數據類型和引用數據類型,除了8中基本數據類型以外都是引用數據類型,8中基本數據類型分別是byte,short,int,long,char,boolean,float,double,具體如下:
1、boolean
:數據值只有true或false,適用于邏輯計算。
2、char
:char型(字符型)數據在內存中占用2個字節。char型數據用來表示通常意義上的字符,每個字符占2個字節,Java字符采用Unicode編碼,它的前128字節編碼與ASCII兼容字符的存儲范圍在\u0000~\uFFFF,在定義字符型的數據時候要注意加' ',比如 '1'表示字符'1'而不是數值1,
3、byte
:byte型(字節型)數據在內存中占用1個字節,表示的存儲數據范圍為:-128~127。
4、short
:short型(短整型)數據在內存中占用2個字節。
5、int
:int型(整型)數據在內存中占用4個字節。
6、long
:long型(長整型)數據在內存中占用8個字節。
7、float
:float型(單精度浮點型)數據在內存中占用4個字節。(float精度為7-8位)
8、double
:double型(雙精度浮點型)數據在內存中占用8個字節。
引用數據類型分3種:類,接口,數組;
可以是我們創建的,這里我不多講,主要是講解幾個java庫中的類
Object
:Object是一個很重要的類,Object是類層次結構的根類,每個類都使用Object作為超類,所有對象(包括數組)都實現這個類的方法。用Object可以定義所有的類
如:
Object object= new Integer(1); 來定義一個Interger類 Integer i=(Integer) object; 在來把這個Object強制轉換成Interger類
String
:String類代表字符串,Java 程序中的所有字符串字面值(如"abc")都作為此類的實例來實現。檢查序列的單個字符、比較字符串、搜索字符串、提取子字符串、創建字符串副本、在該副本中、所有的字符都被轉換為大寫或小寫形式。
Date
:Date表示特定的瞬間,精確到毫秒。Date的類一般現在都被Calendar 和GregorianCalendar所有代替
Void
:Void 類是一個不可實例化的占位符類,它保持一個對代表 Java 關鍵字 void 的 Class 對象的引用。
同時也有對應的Class如:Integer Long Boolean Byte Character Double Float Short
可以是我們創建的,這里我不多講,主要是講解幾個java庫中的接口interface
List<E>
:列表 ,此接口的用戶可以對列表中每個元素的插入位置進行精確地控制。用戶可以根據元素的整數索引 (在列表中的位置)訪問元素,并搜索列表中的元素。List 接口提供了兩種搜索指定對象的方法。從性能的觀點來看,應該小心使用這些方法。在很多實現中,它們將執行高開銷的線性搜索。 List 接口提供了兩 種在列表的任意位置高效插入和移除多個元素的方法。
add()
:在列表的插入指定元素。
remove()
:移除列表中指定位置的元素。
get(int index)
:返回列表中指定位置的元素。
Map<K,V>
:
K - 此映射所維護的鍵的類型
V - 映射值的類型 將鍵映射到值的對象。一個映射不能包含重復的鍵;每個鍵最多只能映射到一個值。
put(K key,V value)
:將指定的值與此映射中的指定鍵關聯(可選操作)。如果此映射以前包含一個該鍵的映射關系,則用指定值替換舊值(當且僅當,返回 true 時,才能說映射 m 包含鍵 k 的映射關系)。 remove(Object key)如果存在一個鍵的映射關系,則將其從此映射中移除(可選操作)。更確切地講,如果此 映射包含從滿足(key==null ? k==null :key.equals(k))的鍵 k 到值 v 的映射關系,則移除該映射關系。(該映射最多只能包含一個這樣的映射關系.) get(Object key):返回指定鍵所映射的值;如果此映射不包含該鍵的映射關系,則返回 null。
這里我們主要是用String List Map Object 是最常用Number ArrayList<E> Arrays等
數組:存儲在一個連續的內存塊中的相同數據類型(引用數據類型)的元素集合。
數組中的每一個數據稱之為數組元素,數組中的元素以索引來表示其存放的位置,索引(下標)從0開始。
第一種方式:類型[] 數組名; 如 int[] nums;
第二種方式:類型數組名[]; 如 int nums[];
大多數Java程序員喜歡使用第一種風格,因為它把數據類型int[],和變量名num分開了.
Java中數組必先初始化后才能使用.
初始化就是給數組元素分配內存,并為每個元素賦初始值。
- 靜態初始化:
語法格式:類型[] 數組名 = new 數組類型[]{元素1,元素2,元素3,...元素n};
簡化語法:類型[] 數組名 = {元素1,元素2,元素3...元素n};
- 動態初始化:
如果我們事先不知道數組里存儲哪些數據,只知道需要存儲數據的個數,此時可以使用動態初始化方式。
動態初始化:初始化時由我們指定數組的長度,系統自動為數組元素分配初始值。
格式:類型[] 數組名 = new 數組類型[數組長度];
注意:無論,以哪種方式初始化數組,一旦初始化完成,數組的長度就固定了,不能改變,除非重新初始化。也就是說數組是定長的。
引用類型在堆里,基本類型在棧里。
棧空間小且連續,往往會被放在緩存。引用類型cache miss率高且要多一次解引用。
對象還要再多儲存一個對象頭,對基本數據類型來說空間浪費率太高
“java中有什么引用數據類型”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。