最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

聊聊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)系,則用指定值替換舊值(當(dāng)且僅當(dāng),返回 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ù)組中的元素以索引來表示其存放的位置,索引(下標(biāo))從0開始。

數(shù)組的定義

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

大多數(shù)Java程序員喜歡使用第一種風(fēng)格,因為它把數(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ù)類型?

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

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

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

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

相關(guān)文章

  • Spring 加載多個xml配置文件的原理分析

    Spring 加載多個xml配置文件的原理分析

    我們知道Spring一次可以加載多個Bean定義的Xml配置文件,我們可以設(shè)想下如果讓我們來做我們會怎么做?我估計會根據(jù)配置文件的順序依次讀取并加載,那再來看看Spring是如何做的?
    2021-06-06
  • lombok中@Data使用常見的小坑及解決

    lombok中@Data使用常見的小坑及解決

    在Java中使用Lombok庫的@Data注解時,布爾類型屬性可能導(dǎo)致生成的get方法不符合預(yù)期,對于非is開頭的布爾屬性,Lombok生成的方法會添加is前綴,導(dǎo)致原本期待的get方法不存在,例如,對于屬性private boolean active,Lombok會生成方法名為isActive而不是getActive
    2024-10-10
  • Java服務(wù)cpu100%的解決過程分享

    Java服務(wù)cpu100%的解決過程分享

    最近一個任務(wù)是優(yōu)化一個導(dǎo)出的功能,但是點擊功能時發(fā)現(xiàn),程序長時間無反應(yīng),過一段時間又有反應(yīng),通過查看服務(wù)的監(jiān)控發(fā)現(xiàn),服務(wù)存在cpu持續(xù)100%的情況,下面分享一下我的處理方案和過程,需要的朋友可以參考下
    2024-05-05
  • Java實現(xiàn)簡易學(xué)生管理系統(tǒng)

    Java實現(xiàn)簡易學(xué)生管理系統(tǒng)

    這篇文章主要為大家詳細介紹了Java實現(xiàn)簡易學(xué)生管理系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-07-07
  • 完全解析Java編程中finally語句的執(zhí)行原理

    完全解析Java編程中finally語句的執(zhí)行原理

    這篇文章主要深度介紹了Java編程中finally語句的執(zhí)行原理,細致講解了finally在異常處理中的流程控制作用,需要的朋友可以參考下
    2015-11-11
  • RabbitMQ消息丟失解決方案

    RabbitMQ消息丟失解決方案

    把這篇文章主要為大家介紹了如何保證RabbitMQ消息不丟失的解決方發(fā),分從從丟失的三種情況給大家介紹不同的解決方案,感興趣的小伙伴可以參考閱讀本文
    2023-07-07
  • 一篇文章看懂Java異常處理

    一篇文章看懂Java異常處理

    異常是程序中的一些錯誤,但并不是所有的錯誤都是異常,并且錯誤有時候是可以避免的,這篇文章主要給大家介紹了關(guān)于Java異常處理的相關(guān)資料,需要的朋友可以參考下
    2021-11-11
  • IDEA?中配置?Gradle?和安裝使用教程

    IDEA?中配置?Gradle?和安裝使用教程

    Gradle本身是基于Groovy腳本語言進行構(gòu)建的,并通過 Domain Specific Language(DSL 語言)進行描述和控制構(gòu)建邏輯,本文重介紹了IDEA?中配置?Gradle?和使用,需要的朋友可以參考下
    2023-10-10
  • springboot?整合?clickhouse的實現(xiàn)示例

    springboot?整合?clickhouse的實現(xiàn)示例

    本文主要介紹了springboot?整合?clickhouse的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • SpringBoot SpEL語法掃盲與查詢手冊的實現(xiàn)

    SpringBoot SpEL語法掃盲與查詢手冊的實現(xiàn)

    這篇文章主要介紹了SpringBoot SpEL語法掃盲與查詢手冊的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05

最新評論

嘉善县| 汝南县| 启东市| 安丘市| 宣城市| 永济市| 昌平区| 桐梓县| 启东市| 宝兴县| 合肥市| 内丘县| 竹山县| 石嘴山市| 凯里市| 通河县| 马公市| 南陵县| 平邑县| 昭平县| 工布江达县| 平和县| 深圳市| 武冈市| 尤溪县| 木兰县| 都兰县| 禄劝| 和林格尔县| 云林县| 焉耆| 育儿| 徐水县| 裕民县| 会泽县| 米易县| 重庆市| 乌拉特后旗| 邵武市| 合山市| 合肥市|