首頁 > 易卦

Java常用類小結

作者:由 紙鶴視界 發表于 易卦日期:2022-12-07

列舉型別欄位是什麼意思

Java常用類

包裝類

由於Java語言中的基本型別不是面向物件,並不具備物件的性質,實際使用存在很多不便。Java在java。lang包中提供了八種基本型別對應的包裝類,可以方便地將它們轉化為物件進行處理,並且可以呼叫一些方法。Java中基本型別和包裝類的對應關係如下表所示:

Java常用類小結

從JDK1。5版本開始,引入了自動裝箱和自動拆箱的 概念。裝箱指的是將基本型別的值轉換成包裝類物件,拆包指的是將包裝類物件轉換成基本型別的值。自動裝箱和拆箱在Java中很常見,在賦值或者方法呼叫時都有可能發生。、

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

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的數值,在範圍內會複用這個物件(記憶體分配是同一個地址) */

Integer

i1

=

10

Integer

i2

=

10

System

out

println

i1

==

i2

//true i1和i2都指向記憶體中同一地址,所以為同一物件

System

out

println

i1

equals

i2

//true

/** * Java會快取-128-127的數值,超過這一範圍會重新建立一個物件 */

Integer

i3

=

210

Integer

i4

=

210

System

out

println

i3

==

i4

//false

System

out

println

i3

equals

i4

//true

}

}

包裝類中的常量

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

Java常用類小結

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

包裝類的構造方法

Integer類、Double類、Boolean類提供了兩種構造方法。

以基本資料型別的值為入參建立物件。

以String字串為入參建立物件。

示例程式碼如下:

package

com

Cuc

demo01

/** * 包裝類的構造方法 */

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類只提供了一種構造方法,以char字元為建立一個Character類物件。

package

com

Cuc

demo01

/** * Character包裝類的構造方法 */

public

class

Consructor

{

public

static

void

main

String

args

{

Character

i7

=

new

Character

‘帥’

}

}

包裝類中的常用方法

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

Math類

Java中提供了Math類來處理複雜的數學運算,如平方根、對數、三角函式、指數等。Math類中還提供了一些常用的數學常量,如PI、E等。Math類中的方法都被定義為static靜態方法,直接使用Math。method格式呼叫(method代表方法名)。Math類沒有構造方法,也就是說Math類不能例項化物件,因為數學本身就是抽象的,沒有具體例項化物件。Math類是java。lang基礎包中提供的。

列舉

列舉型別在程式語言中很常見,它是在JDK1。5版本引入的特性,是一種特殊的資料型別。列舉型別將一系列含義相同、預先定義好的常量組合起來,其中每個常量都各自有定義好的相同型別的值。

列舉定義

Java中列舉型別的定義格式如下:

public enum

列舉類名

{

列舉值程式碼塊

}

因為列舉和Class類一樣,都是需要被外部訪問的,所以許可權修飾符都是public;enum為列舉型別的關鍵字;列舉類的名稱與Class定義相同,一般為首字母大寫,因為表示的是常量,所以列舉型別的欄位一般為全大寫字母。“[列舉程式碼塊]”中定義了每個列舉值的名稱和內容。

下面是一個關於顏色列舉的定義的示例:

package

com

Cuc

demo01

/** * 列舉值定義 * @author ZpF */

public

enum

ColorEnum

{

RED

GREEN

YELLOW

BLUE

}

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

列舉的常見方法

列舉型別的物件繼承java。lang。Enum類。列舉型別中的常見方法如下所示:

Java常用類小結

程式碼示例:

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的比較結果為:”

+

ColorEnum

RED

compareTo

ColorEnum

GREEN

for

int

i

=

0

i

<

colorArray

length

i

++

{

System

out

println

“依次獲取列舉型別成員索引位置:”

+

colorArray

i

ordinal

}

}

}

執行結果:

Java常用類小結

列舉型別中也可以新增自定義的構造方法,但是構造方法必須是私有的,被關鍵字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

}

}

}

執行結果:

Java常用類小結

,https://blog。csdn。net/qq_54823875/article/details/119180103