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

帶你了解Java常用類小結(jié)

 更新時(shí)間:2021年07月30日 16:31:06   作者:我不讀研  
今天帶大家學(xué)習(xí)Java常用工具類,文中有非常詳細(xì)的圖文解說(shuō)及代碼示例,對(duì)正在學(xué)習(xí)java的小伙伴們很有幫助,需要的朋友可以參考下,希望能給你帶來(lái)幫助

Java常用類

包裝類

由于Java語(yǔ)言中的基本類型不是面向?qū)ο螅⒉痪邆鋵?duì)象的性質(zhì),實(shí)際使用存在很多不便。Java在java.lang包中提供了八種基本類型對(duì)應(yīng)的包裝類,可以方便地將它們轉(zhuǎn)化為對(duì)象進(jìn)行處理,并且可以調(diào)用一些方法。Java中基本類型和包裝類的對(duì)應(yīng)關(guān)系如下表所示:

基本數(shù)據(jù)類型名稱 包裝類名稱
byte Byte
short Short
int Integer
long Long
float Float
double Double
char Character
boolean Boolean

從JDK1.5版本開始,引入了自動(dòng)裝箱和自動(dòng)拆箱的 概念。裝箱指的是將基本類型的值轉(zhuǎn)換成包裝類對(duì)象,拆包指的是將包裝類對(duì)象轉(zhuǎn)換成基本類型的值。自動(dòng)裝箱和拆箱在Java中很常見,在賦值或者方法調(diào)用時(shí)都有可能發(fā)生。、

裝箱與拆箱基本操作代碼如下:

package com.Cuc.demo01;
/**
 * 裝箱與拆箱
 * @author ZpF
 */
public class BoxingAndUnBoxing {
    public static void main(String[] args) {
        Integer x=new Integer(10);//手動(dòng)裝箱
        Integer y=11;//自動(dòng)裝箱
        int m=x.intValue();//手動(dòng)拆箱
        int n=y;//自動(dòng)拆箱
        System.out.println(m);
        System.out.println(n);
    }
}

自動(dòng)裝箱和拆箱雖然能使代碼變的簡(jiǎn)潔但也存在一些問(wèn)題,通過(guò)以下代碼進(jìn)行說(shuō)明。

package com.Cuc.demo01;
/**
 * 自動(dòng)裝箱中的一個(gè)陷阱
 * @author ZpF
 */
public class BoxingAndUnBoxing {
    public static void main(String[] args) {
        /**
         * Java會(huì)緩存-128-127的數(shù)值,在范圍內(nèi)會(huì)復(fù)用這個(gè)對(duì)象(內(nèi)存分配是同一個(gè)地址)
         */
        Integer i1=10;
        Integer i2=10;
        System.out.println(i1==i2);//true i1和i2都指向內(nèi)存中同一地址,所以為同一對(duì)象
        System.out.println(i1.equals(i2));//true
        /**
         * Java會(huì)緩存-128-127的數(shù)值,超過(guò)這一范圍會(huì)重新創(chuàng)建一個(gè)對(duì)象
         */
        Integer i3=210;
        Integer i4=210;
        System.out.println(i3==i4);//false 
        System.out.println(i3.equals(i4));//true
    }
}

包裝類中的常量

每一種包裝類都提供了一些常量,比較典型的常量有如下所示:

名稱 說(shuō)明
MAX_VALUE 最大值
MIN_VALUE 最小值
SIZE 以二進(jìn)制補(bǔ)碼的形式所占的位數(shù)
BYTES 以二進(jìn)制補(bǔ)碼形式所占的字節(jié)數(shù)
TYPE **類型的class對(duì)象

每一種不同的包裝類提供不同的常量,以上只是舉例其中部分進(jìn)行說(shuō)明,真正用到時(shí)還要具體分析。

包裝類的構(gòu)造方法

Integer類、Double類、Boolean類提供了兩種構(gòu)造方法。

以基本數(shù)據(jù)類型的值為入?yún)?chuàng)建對(duì)象。以String字符串為入?yún)?chuàng)建對(duì)象。

示例代碼如下:

package com.Cuc.demo01;
/**
 * 包裝類的構(gòu)造方法
 */
public class Consructor {
    public static void main(String[] args) {
        Integer i1=new Integer(10);
        Integer i2=new Integer("10");
        Double i3=new Double(20.1);
        Double i4=new Double("20.1");
        Boolean i5=new Boolean(true);
        Boolean i6=new Boolean("false");
    }
}

Character類只提供了一種構(gòu)造方法,以char字符為創(chuàng)建一個(gè)Character類對(duì)象。

package com.Cuc.demo01;
/**
 * Character包裝類的構(gòu)造方法
 */
public class Consructor {
    public static void main(String[] args) {
        Character i7=new Character('帥');
    }
}

包裝類中的常用方法

每一種包裝類都提供了許多常用方法,在具體需要時(shí)查閱相關(guān)資料選擇合適的方法。

Math類

Java中提供了Math類來(lái)處理復(fù)雜的數(shù)學(xué)運(yùn)算,如平方根、對(duì)數(shù)、三角函數(shù)、指數(shù)等。Math類中還提供了一些常用的數(shù)學(xué)常量,如PI、E等。Math類中的方法都被定義為static靜態(tài)方法,直接使用Math.method格式調(diào)用(method代表方法名)。Math類沒有構(gòu)造方法,也就是說(shuō)Math類不能實(shí)例化對(duì)象,因?yàn)閿?shù)學(xué)本身就是抽象的,沒有具體實(shí)例化對(duì)象。Math類是java.lang基礎(chǔ)包中提供的。

枚舉

枚舉類型在編程語(yǔ)言中很常見,它是在JDK1.5版本引入的特性,是一種特殊的數(shù)據(jù)類型。枚舉類型將一系列含義相同、預(yù)先定義好的常量組合起來(lái),其中每個(gè)常量都各自有定義好的相同類型的值。

枚舉定義

Java中枚舉類型的定義格式如下:

public enum [枚舉類名]{ [枚舉值代碼塊] }

因?yàn)槊杜e和Class類一樣,都是需要被外部訪問(wèn)的,所以權(quán)限修飾符都是public;enum為枚舉類型的關(guān)鍵字;枚舉類的名稱與Class定義相同,一般為首字母大寫,因?yàn)楸硎镜氖浅A浚悦杜e類型的字段一般為全大寫字母?!癧枚舉代碼塊]”中定義了每個(gè)枚舉值的名稱和內(nèi)容。

下面是一個(gè)關(guān)于顏色枚舉的定義的示例:

package com.Cuc.demo01;
/**
 * 枚舉值定義
 * @author ZpF
 */
public enum ColorEnum {
    RED,GREEN,YELLOW,BLUE;
}

使用枚舉值可以直接通過(guò)“枚舉類名.枚舉值名”的方式來(lái)訪問(wèn)。

枚舉的常見方法

枚舉類型的對(duì)象繼承java.lang.Enum類。枚舉類型中的常見方法如下所示:

方法 功能描述
values() 將枚舉類型成員屬性按數(shù)組形式返回
valueOf() 將普通字符轉(zhuǎn)換為枚舉對(duì)象
compareTo() 比較兩個(gè)枚舉對(duì)象在定義時(shí)的前后順序
ordinal() 獲取枚舉成員的索引位置

代碼示例:

package com.Cuc.demo01;
/**
 * enum使用
 * @author ZpF
 */
public class UseNum {
    public static void main(String[] args) {
        ColorEnum colorArray[]=ColorEnum.values();
        for (int i = 0; i < colorArray.length; i++) {
            System.out.println("依次打印枚舉類型成員"+colorArray[i]);
        }
        System.out.println("RED和GREEN的比較結(jié)果為:"+ColorEnum.RED.compareTo(ColorEnum.GREEN));
        for (int i = 0; i < colorArray.length; i++) {
            System.out.println("依次獲取枚舉類型成員索引位置:"+colorArray[i].ordinal());
        }
    }
}

運(yùn)行結(jié)果:

在這里插入圖片描述

枚舉類型中也可以添加自定義的構(gòu)造方法,但是構(gòu)造方法必須是私有的,被關(guān)鍵字private修飾。

package com.Cuc.demo01;
/**
 * 枚舉值定義
 * @author ZpF
 */
public enum ColorEnum {
    RED("紅色"),GREEN("綠色"),YELLOW("黃色"),BLUE("藍(lán)色");
    public String color;
    private  ColorEnum() {
    }
    private  ColorEnum(String color) {
        this.color = color;
    }
}
package com.Cuc.demo01;
/**
 * enum使用
 * @author ZpF
 */
public class UseNum {
    public static void main(String[] args) {
        ColorEnum colorArray[]=ColorEnum.values();
        for (int i = 0; i < colorArray.length; i++) {
            System.out.println("依次打印枚舉類型成員:"+colorArray[i].color);
        }
    }
}

運(yùn)行結(jié)果:

在這里插入圖片描述

總結(jié)

本篇文章就到這里了,希望能給你帶來(lái)幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!

相關(guān)文章

  • java三層架構(gòu)原理與作用小結(jié)

    java三層架構(gòu)原理與作用小結(jié)

    這篇文章主要對(duì)Java三層架構(gòu)的概念、作用等進(jìn)行了介紹,需要的朋友可以參考下
    2017-04-04
  • Springboot?yml?Map?List讀取方式

    Springboot?yml?Map?List讀取方式

    這篇文章主要介紹了Springboot?yml?Map?List讀取方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • Spring中的ImportSelector接口原理解析

    Spring中的ImportSelector接口原理解析

    這篇文章主要介紹了Spring中的ImportSelector接口原理解析,ImportSelector接口是spring中導(dǎo)入外部配置的核心接口,根據(jù)給定的條件(通常是一個(gè)或多個(gè)注釋屬性)判定要導(dǎo)入那個(gè)配置類,需要的朋友可以參考下
    2024-01-01
  • Resttemplate中設(shè)置超時(shí)時(shí)長(zhǎng)方式

    Resttemplate中設(shè)置超時(shí)時(shí)長(zhǎng)方式

    這篇文章主要介紹了Resttemplate中設(shè)置超時(shí)時(shí)長(zhǎng)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-10-10
  • 解決java.sql.Timestamp丟失精度的問(wèn)題

    解決java.sql.Timestamp丟失精度的問(wèn)題

    這篇文章主要介紹了解決java.sql.Timestamp丟失精度的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • Java中使用JavaMail多發(fā)郵件及郵件的驗(yàn)證和附件實(shí)現(xiàn)

    Java中使用JavaMail多發(fā)郵件及郵件的驗(yàn)證和附件實(shí)現(xiàn)

    這篇文章主要介紹了Java中使用Java Mail多發(fā)郵件及郵件的驗(yàn)證和附件實(shí)現(xiàn),包括在郵件中加入圖片等功能的實(shí)現(xiàn)講解,需要的朋友可以參考下
    2016-02-02
  • java 逐行讀取txt文本如何解決中文亂碼

    java 逐行讀取txt文本如何解決中文亂碼

    在使用java讀取txt文本中如含有中文,可能會(huì)出現(xiàn)亂碼,很多初學(xué)者束手無(wú)策,本文將提供詳細(xì)的解決方法
    2012-11-11
  • Java double轉(zhuǎn)BigDecimal的注意事項(xiàng)說(shuō)明

    Java double轉(zhuǎn)BigDecimal的注意事項(xiàng)說(shuō)明

    這篇文章主要介紹了Java double轉(zhuǎn)BigDecimal的注意事項(xiàng)說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-01-01
  • Zookeeper的選舉機(jī)制詳解

    Zookeeper的選舉機(jī)制詳解

    Zookeeper的選舉機(jī)制是基于ZAB協(xié)議的Paxos變種,通過(guò)LOOKING、PROPOSAL、ACCEPT和COMMIT四個(gè)階段,確保集群中只有一個(gè)領(lǐng)導(dǎo)節(jié)點(diǎn),選舉過(guò)程中,服務(wù)器通過(guò)投票和收集投票信息,確定ZXID和SID來(lái)選擇領(lǐng)導(dǎo)者,FastLeaderElection算法優(yōu)化了選舉過(guò)程,提高選舉效率
    2025-02-02
  • 基于Java編寫一個(gè)實(shí)用的ExcelUtil工具類

    基于Java編寫一個(gè)實(shí)用的ExcelUtil工具類

    在項(xiàng)目中經(jīng)常遇到excel表格導(dǎo)入導(dǎo)出功能,每次都要重復(fù)寫有關(guān)excel 的邏輯,所以本文直接使用Java編寫一個(gè)實(shí)用的ExcelUtil工具類,希望對(duì)大家有所幫助
    2024-04-04

最新評(píng)論

沈阳市| 平泉县| 康保县| 工布江达县| 资源县| 万荣县| 措美县| 湘阴县| 城步| 电白县| 香港| 天津市| 当涂县| 盐源县| 亳州市| 安义县| 马尔康县| 两当县| 莲花县| 沙洋县| 旬邑县| 绍兴县| 河源市| 宁陵县| 海阳市| 湘潭市| 丰城市| 宿州市| 正镶白旗| 密山市| 财经| 百色市| 广德县| 新营市| 西华县| 忻城县| 长汀县| 赤峰市| 工布江达县| 神农架林区| 庄河市|