欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

聊聊java中引用數(shù)據(jù)類型有哪些

 更新時間:2021年10月27日 10:21:08   作者:xiaoming3526  
這篇文章主要介紹了java中引用數(shù)據(jù)類型有哪些,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

java中引用數(shù)據(jù)類型有哪些

Java中有倆種數(shù)據(jù)類型,其中主要有8中基本數(shù)據(jù)類型和引用數(shù)據(jù)類型,除了8中基本數(shù)據(jù)類型以外都是引用數(shù)據(jù)類型,8中基本數(shù)據(jù)類型分別是byte,short,int,long,char,boolean,float,double,具體如下:

1、boolean:數(shù)據(jù)值只有true或false,適用于邏輯計算。

2、char:char型(字符型)數(shù)據(jù)在內(nèi)存中占用2個字節(jié)。char型數(shù)據(jù)用來表示通常意義上的字符,每個字符占2個字節(jié),Java字符采用Unicode編碼,它的前128字節(jié)編碼與ASCII兼容字符的存儲范圍在\u0000~\uFFFF,在定義字符型的數(shù)據(jù)時候要注意加' ',比如 '1'表示字符'1'而不是數(shù)值1,

3、byte:byte型(字節(jié)型)數(shù)據(jù)在內(nèi)存中占用1個字節(jié),表示的存儲數(shù)據(jù)范圍為:-128~127。

4、short:short型(短整型)數(shù)據(jù)在內(nèi)存中占用2個字節(jié)。

5、int:int型(整型)數(shù)據(jù)在內(nèi)存中占用4個字節(jié)。

6、long:long型(長整型)數(shù)據(jù)在內(nèi)存中占用8個字節(jié)。

7、float:float型(單精度浮點型)數(shù)據(jù)在內(nèi)存中占用4個字節(jié)。(float精度為7-8位)

8、double:double型(雙精度浮點型)數(shù)據(jù)在內(nèi)存中占用8個字節(jié)。

下面說說java中引用數(shù)據(jù)類型:

引用數(shù)據(jù)類型分3種:類,接口,數(shù)組;

一、類Class引用

可以是我們創(chuàng)建的,這里我不多講,主要是講解幾個java庫中的類

  • Object:Object是一個很重要的類,Object是類層次結(jié)構(gòu)的根類,每個類都使用Object作為超類,所有對象(包括數(shù)組)都實現(xiàn)這個類的方法。用Object可以定義所有的類

如:

Object object= new Integer(1); 來定義一個Interger類 
Integer i=(Integer) object;     在來把這個Object強制轉(zhuǎn)換成Interger類 
  • String:String類代表字符串,Java 程序中的所有字符串字面值(如"abc")都作為此類的實例來實現(xiàn)。檢查序列的單個字符、比較字符串、搜索字符串、提取子字符串、創(chuàng)建字符串副本、在該副本中、所有的字符都被轉(zhuǎn)換為大寫或小寫形式。
  • Date:Date表示特定的瞬間,精確到毫秒。Date的類一般現(xiàn)在都被Calendar 和GregorianCalendar所有代替
  • Void:Void 類是一個不可實例化的占位符類,它保持一個對代表 Java 關(guān)鍵字 void 的 Class 對象的引用。

同時也有對應(yīng)的Class如:Integer Long Boolean Byte Character Double Float Short

二、接口interface引用

可以是我們創(chuàng)建的,這里我不多講,主要是講解幾個java庫中的接口interface

  • List<E>:列表 ,此接口的用戶可以對列表中每個元素的插入位置進行精確地控制。用戶可以根據(jù)元素的整數(shù)索引 (在列表中的位置)訪問元素,并搜索列表中的元素。List 接口提供了兩種搜索指定對象的方法。從性能的觀點來看,應(yīng)該小心使用這些方法。在很多實現(xiàn)中,它們將執(zhí)行高開銷的線性搜索。 List 接口提供了兩 種在列表的任意位置高效插入和移除多個元素的方法。
  • add():在列表的插入指定元素。
  • remove():移除列表中指定位置的元素。
  • get(int index):返回列表中指定位置的元素。
  • Map<K,V>

K - 此映射所維護的鍵的類型

V - 映射值的類型 將鍵映射到值的對象。一個映射不能包含重復(fù)的鍵;每個鍵最多只能映射到一個值。

  • put(K key,V value):將指定的值與此映射中的指定鍵關(guān)聯(lián)(可選操作)。如果此映射以前包含一個該鍵的映射關(guān)系,則用指定值替換舊值(當且僅當,返回 true 時,才能說映射 m 包含鍵 k 的映射關(guān)系)。 remove(Object key)如果存在一個鍵的映射關(guān)系,則將其從此映射中移除(可選操作)。更確切地講,如果此 映射包含從滿足(key==null ? k==null :key.equals(k))的鍵 k 到值 v 的映射關(guān)系,則移除該映射關(guān)系。(該映射最多只能包含一個這樣的映射關(guān)系.) get(Object key):返回指定鍵所映射的值;如果此映射不包含該鍵的映射關(guān)系,則返回 null。

這里我們主要是用String List Map Object 是最常用Number ArrayList<E> Arrays等

三、數(shù)組引用

數(shù)組:存儲在一個連續(xù)的內(nèi)存塊中的相同數(shù)據(jù)類型(引用數(shù)據(jù)類型)的元素集合。

數(shù)組中的每一個數(shù)據(jù)稱之為數(shù)組元素,數(shù)組中的元素以索引來表示其存放的位置,索引(下標)從0開始。

數(shù)組的定義

  • 第一種方式:類型[] 數(shù)組名; 如 int[] nums;
  • 第二種方式:類型數(shù)組名[]; 如 int nums[];

大多數(shù)Java程序員喜歡使用第一種風格,因為它把數(shù)據(jù)類型int[],和變量名num分開了.

數(shù)組的初始化

Java中數(shù)組必先初始化后才能使用.

初始化就是給數(shù)組元素分配內(nèi)存,并為每個元素賦初始值。

初始化數(shù)組的兩種方式:

- 靜態(tài)初始化:

語法格式:類型[] 數(shù)組名 = new 數(shù)組類型[]{元素1,元素2,元素3,...元素n};

簡化語法:類型[] 數(shù)組名 = {元素1,元素2,元素3...元素n};

- 動態(tài)初始化:

如果我們事先不知道數(shù)組里存儲哪些數(shù)據(jù),只知道需要存儲數(shù)據(jù)的個數(shù),此時可以使用動態(tài)初始化方式。

動態(tài)初始化:初始化時由我們指定數(shù)組的長度,系統(tǒng)自動為數(shù)組元素分配初始值。

格式:類型[] 數(shù)組名 = new 數(shù)組類型[數(shù)組長度];

注意:無論,以哪種方式初始化數(shù)組,一旦初始化完成,數(shù)組的長度就固定了,不能改變,除非重新初始化。也就是說數(shù)組是定長的。

為什么Java里有基本數(shù)據(jù)類型和引用數(shù)據(jù)類型?

引用類型在堆里,基本類型在棧里。

??臻g小且連續(xù),往往會被放在緩存。引用類型cache miss率高且要多一次解引用。

對象還要再多儲存一個對象頭,對基本數(shù)據(jù)類型來說空間浪費率太高

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 探究實現(xiàn)Aware接口的原理及使用

    探究實現(xiàn)Aware接口的原理及使用

    這篇文章主要為大家介紹了探究實現(xiàn)Aware接口的原理及使用,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-04-04
  • java判斷一個文件是否為二進制文件的方法

    java判斷一個文件是否為二進制文件的方法

    這篇文章主要介紹了java判斷一個文件是否為二進制文件的方法,涉及java針對文件的讀取及編碼判斷技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-07-07
  • 最新JVM垃圾回收算法詳解

    最新JVM垃圾回收算法詳解

    ? 垃圾收集器對堆進行回收前,首先要確定堆中的對象哪些還"存活",哪些已經(jīng)"死去"。有兩種算法,分別是引用計數(shù)算法(Recference?Counting)和可達性分析算法(Reachability?Analysis),這篇文章主要介紹了JVM垃圾回收算法,需要的朋友可以參考下
    2022-05-05
  • centos下GitLab+Jenkins持續(xù)集成環(huán)境搭建(安裝jenkins)

    centos下GitLab+Jenkins持續(xù)集成環(huán)境搭建(安裝jenkins)

    這篇文章主要為大家詳細介紹了centos下搭建GitLab+Jenkins持續(xù)集成環(huán)境,安裝jenkins的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-04-04
  • Java實現(xiàn)線程的暫停和恢復(fù)的示例詳解

    Java實現(xiàn)線程的暫停和恢復(fù)的示例詳解

    這幾天的項目中,客戶給了個需求,希望我可以開啟一個任務(wù),想什么時候暫停就什么時候暫停,想什么時候開始就什么時候開始,所以本文小編給大家介紹了Java實現(xiàn)線程的暫停和恢復(fù)的示例,需要的朋友可以參考下
    2023-11-11
  • Idea創(chuàng)建多模塊maven聚合項目的實現(xiàn)

    Idea創(chuàng)建多模塊maven聚合項目的實現(xiàn)

    這篇文章主要介紹了Idea創(chuàng)建多模塊maven聚合項目的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-12-12
  • 詳解Java中switch的新特性

    詳解Java中switch的新特性

    這篇文章主要介紹了Java中switch的新特性,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-05-05
  • Spring使用注解方式處理事務(wù)

    Spring使用注解方式處理事務(wù)

    這篇文章主要為大家詳細介紹了Spring使用注解方式處理事務(wù),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-08-08
  • 關(guān)于Java中ArrayList的源碼分析

    關(guān)于Java中ArrayList的源碼分析

    這篇文章主要從源碼角度帶大家深入了解一下Java中ArrayList的構(gòu)造方法和屬性等知識,文中的示例代碼講解詳細,感興趣的小伙伴可以了解一下
    2023-05-05
  • 被遺忘的Java關(guān)鍵字transient的使用詳解

    被遺忘的Java關(guān)鍵字transient的使用詳解

    在 Java 中,transient 是一個關(guān)鍵字,用于指定一個類的字段(成員變量)在序列化時應(yīng)該被忽略。本文將通過示例為大家簡單講講transient的使用,需要的可以參考一下
    2023-04-04

最新評論