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

Java之常用類小結(jié)案例講解

 更新時間:2021年07月30日 08:57:49   作者:我不讀研  
這篇文章主要介紹了Java之常用類小結(jié)案例講解,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下

Java常用類

包裝類

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

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

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

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

package com.Cuc.demo01;

/**
 * 裝箱與拆箱
 * @author ZpF
 */

public class BoxingAndUnBoxing {
    public static void main(String[] args) {
        Integer x=new Integer(10);//手動裝箱
        Integer y=11;//自動裝箱
        int m=x.intValue();//手動拆箱
        int n=y;//自動拆箱
        System.out.println(m);
        System.out.println(n);
    }
}

自動裝箱和拆箱雖然能使代碼變的簡潔但也存在一些問題,通過以下代碼進行說明。

package com.Cuc.demo01;

/**
 * 自動裝箱中的一個陷阱
 * @author ZpF
 */

public class BoxingAndUnBoxing {
    public static void main(String[] args) {
        /**
         * Java會緩存-128-127的數(shù)值,在范圍內(nèi)會復(fù)用這個對象(內(nèi)存分配是同一個地址)
         */
        Integer i1=10;
        Integer i2=10;
        System.out.println(i1==i2);//true i1和i2都指向內(nèi)存中同一地址,所以為同一對象
        System.out.println(i1.equals(i2));//true

        /**
         * Java會緩存-128-127的數(shù)值,超過這一范圍會重新創(chuàng)建一個對象
         */
        Integer i3=210;
        Integer i4=210;
        System.out.println(i3==i4);//false 
        System.out.println(i3.equals(i4));//true
    }
}

包裝類中的常量

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

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

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

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

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

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

示例代碼如下:

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)建一個Character類對象。

package com.Cuc.demo01;

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

包裝類中的常用方法

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

Math類

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

枚舉

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

枚舉定義

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

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

因為枚舉和Class類一樣,都是需要被外部訪問的,所以權(quán)限修飾符都是public;enum為枚舉類型的關(guān)鍵字;枚舉類的名稱與Class定義相同,一般為首字母大寫,因為表示的是常量,所以枚舉類型的字段一般為全大寫字母?!癧枚舉代碼塊]”中定義了每個枚舉值的名稱和內(nèi)容。

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

package com.Cuc.demo01;

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

使用枚舉值可以直接通過“枚舉類名.枚舉值名”的方式來訪問。

枚舉的常見方法

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

方法 功能描述
values() 將枚舉類型成員屬性按數(shù)組形式返回
valueOf() 將普通字符轉(zhuǎn)換為枚舉對象
compareTo() 比較兩個枚舉對象在定義時的前后順序
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());
        }
    }
}

運行結(jié)果:

在這里插入圖片描述

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

package com.Cuc.demo01;

/**
 * 枚舉值定義
 * @author ZpF
 */
public enum ColorEnum {
    RED("紅色"),GREEN("綠色"),YELLOW("黃色"),BLUE("藍色");
    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);

        }

    }
}

運行結(jié)果:

在這里插入圖片描述

到此這篇關(guān)于Java之常用類小結(jié)案例講解的文章就介紹到這了,更多相關(guān)Java之常用類內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java并發(fā)工具之CountDownLatch使用詳解

    Java并發(fā)工具之CountDownLatch使用詳解

    這篇文章主要介紹了Java并發(fā)工具之CountDownLatch使用詳解,通過使用 CountDownLatch可以使當(dāng)前線程阻塞,等待其他線程完成給定任務(wù),可以類比旅游團導(dǎo)游要等待所有的游客到齊后才能去下一個景點,需要的朋友可以參考下
    2023-12-12
  • 關(guān)于SpringCloud的微服務(wù)結(jié)構(gòu)及微服務(wù)遠程調(diào)用

    關(guān)于SpringCloud的微服務(wù)結(jié)構(gòu)及微服務(wù)遠程調(diào)用

    Spring Cloud 是一套完整的微服務(wù)解決方案,基于 Spring Boot 框架,準(zhǔn)確的說,它不是一個框架,而是一個大的容器,它將市面上較好的微服務(wù)框架集成進來,從而簡化了開發(fā)者的代碼量,需要的朋友可以參考下
    2023-05-05
  • java實現(xiàn)字符串匹配求兩個字符串的最大公共子串

    java實現(xiàn)字符串匹配求兩個字符串的最大公共子串

    這篇文章主要介紹了java實現(xiàn)求兩個字符串最大公共子串的方法,詳細的描述了兩個字符串的最大公共子串算法的實現(xiàn),需要的朋友可以參考下
    2016-10-10
  • 解決線程并發(fā)redisson使用遇到的坑

    解決線程并發(fā)redisson使用遇到的坑

    這篇文章主要介紹了解決線程并發(fā)redisson使用遇到的坑,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • springboot跨域問題解決方案

    springboot跨域問題解決方案

    這篇文章主要介紹了springboot跨域問題解決方案,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-01-01
  • JAVA使用隨機數(shù)實現(xiàn)概率抽獎

    JAVA使用隨機數(shù)實現(xiàn)概率抽獎

    這篇文章主要為大家詳細介紹了JAVA使用隨機數(shù)實現(xiàn)概率抽獎,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-11-11
  • 基于Java?利用Mybatis實現(xiàn)oracle批量插入及分頁查詢

    基于Java?利用Mybatis實現(xiàn)oracle批量插入及分頁查詢

    這篇文章主要介紹了基于Java?利用Mybatis實現(xiàn)oracle批量插入及分頁查詢,文章圍繞主題展開詳細的內(nèi)容介紹,需要的小伙伴可以參考一下
    2022-07-07
  • Java設(shè)計模式之中介模式(Mediator模式)介紹

    Java設(shè)計模式之中介模式(Mediator模式)介紹

    這篇文章主要介紹了Java設(shè)計模式之中介模式(Mediator模式)介紹,本文講解了為何使用Mediator模式、如何使用中介模式等內(nèi)容,需要的朋友可以參考下
    2015-03-03
  • Spring Cache優(yōu)化數(shù)據(jù)庫訪問的項目實踐

    Spring Cache優(yōu)化數(shù)據(jù)庫訪問的項目實踐

    本文主要介紹了Spring Cache優(yōu)化數(shù)據(jù)庫訪問的項目實踐,將創(chuàng)建一個簡單的圖書管理應(yīng)用作為示例,并演示如何通過緩存減少對數(shù)據(jù)庫的頻繁查詢,感興趣的可以了解一下
    2024-01-01
  • SpringBoot項目整合攔截器詳解

    SpringBoot項目整合攔截器詳解

    這篇文章主要介紹了SpringBoot項目整合攔截器詳解,java里的攔截器是動態(tài)攔截Action調(diào)用的對象,它提供了一種機制可以使開發(fā)者在一個Action執(zhí)行的前后執(zhí)行一段代碼,攔截器用于在某個方法或者字段被訪問之前進行攔截,然后再之前或者之后加入某些操作,需要的朋友可以參考下
    2023-10-10

最新評論