更新時(shí)間:2022-11-21 10:09:12 來源:動(dòng)力節(jié)點(diǎn) 瀏覽1194次
java枚舉是什么?Java 中的枚舉(簡稱 enum)是一種特殊的數(shù)據(jù)類型,它包含一組預(yù)定義的常量。
enum在處理不需要更改的值(例如星期幾、一年中的季節(jié)、顏色等)時(shí),您通常會(huì)使用 an 。
在本文中,我們將了解如何創(chuàng)建 anenum以及如何將其值賦給其他變量。我們還將了解如何使用enuminswitch語句或循環(huán)遍歷其值。
要?jiǎng)?chuàng)建一個(gè)enum,我們使用enum關(guān)鍵字,類似于您使用class關(guān)鍵字創(chuàng)建類的方式。
這是一個(gè)例子:
enum Colors {
RED,
BLUE,
YELLOW,
GREEN
}
在上面的代碼中,我們創(chuàng)建了一個(gè)enum名為Colors. 你可能會(huì)注意到它的值enum都是用大寫字母寫的——這只是一個(gè)通用約定。如果值是小寫的,您將不會(huì)收到錯(cuò)誤。
an 中的每個(gè)值enum都用逗號(hào)分隔。
接下來,我們將創(chuàng)建一個(gè)新變量并將我們的值之一分配enum給它。
enum Colors {
RED,
BLUE,
YELLOW,
GREEN
}
public class Main {
public static void main(String[] args) {
Colors red = Colors.RED;
System.out.println(red);
// RED
}
}
這類似于初始化任何其他變量。在上面的代碼中,我們初始化了一個(gè)變量并使用點(diǎn)語法Colors將 an 的值之一分配給它: .enumColors red = Colors.RED;
請(qǐng)注意,我們可以enum在類內(nèi)部創(chuàng)建我們Main的代碼,代碼仍然有效。那是:
public class Main {
enum Colors {
RED,
BLUE,
YELLOW,
GREEN
}
public static void main(String[] args) {
Colors red = Colors.RED;
System.out.println(red);
}
}
如果我們想要獲取任何值的索引號(hào),我們將不得不使用該ordinal()方法。這是一個(gè)例子:
enum Colors {
RED,
BLUE,
YELLOW,
GREEN
}
public class Main {
public static void main(String[] args) {
Colors red = Colors.RED;
System.out.println(red.ordinal());
// 0
}
}
red.ordinal()從上面的代碼返回 0。
在本節(jié)中,我們將了解如何使用enuminswitch語句。
這是一個(gè)例子:
public class Main {
enum Colors {
RED,
BLUE,
YELLOW,
GREEN
}
public static void main(String[] args) {
Colors myColor = Colors.YELLOW;
switch(myColor) {
case RED:
System.out.println("The color is red");
break;
case BLUE:
System.out.println("The color is blue");
break;
case YELLOW:
System.out.println("The color is yellow");
break;
case GREEN:
System.out.println("The color is green");
break;
}
}
}
這是我們?nèi)绾卧谡Z句中使用 an 的一個(gè)非?;镜膃num示例switch。我們會(huì)將“The color is yellow”打印到控制臺(tái),因?yàn)檫@是唯一case符合switch語句條件的。
enum在 Java 中有一個(gè)values()方法返回一個(gè)enum. 我們將使用 for-each 循環(huán)來遍歷并打印我們的enum.
我們可以這樣做:
enum Colors {
RED,
BLUE,
YELLOW,
GREEN
}
public class Main {
public static void main(String[] args) {
for (Colors allColors : Colors.values()) {
System.out.println(allColors);
/*
RED
BLUE
YELLOW
GREEN
*/
}
}
}
相關(guān)閱讀
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
有基礎(chǔ) 直達(dá)就業(yè)
業(yè)余時(shí)間 高薪轉(zhuǎn)行
工作1~3年,加薪神器
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問老師會(huì)電話與您溝通安排學(xué)習(xí)