列挙型
ステップ1:定義済みの定数
列挙列挙は、列挙型は、定数定義容易にすることができる特別なクラス(またはクラス)である
ような設計として列挙型のシーズンを、定数の4種類があります
public enum Season {
SPRING,SUMMER,AUTUMN,WINTER
}
一般的な状況を判断するために列挙を使用して、switch文であります
注意:それは一定であるため、その一般的にすべて大文字です
public class HelloWorld {
public static void main(String[] args) {
Season season = Season.SPRING;
switch (season) {
case SPRING:
System.out.println("春天");
break;
case SUMMER:
System.out.println("夏天");
break;
case AUTUMN:
System.out.println("秋天");
break;
case WINTER:
System.out.println("冬天");
break;
}
}
}
public enum Season {
SPRING,SUMMER,AUTUMN,WINTER
}
ステップ2:列挙を使用する利点
スイッチは代わりに列挙を使用しての、使用することを想定しますが、int型、int型だけではなく、1-4の範囲の使用された場合、判定結果がもっともらしいように、超過1-4間の値をとることが可能です。(唯一の四季ため)
しかし、列挙を使用して、着用者の範囲は、うち4人に定義することができる
春、夏、秋、冬
そして奇妙なシーズン5には表示されません
public class HelloWorld {
public static void main(String[] args) {
int season = 5;
switch (season) {
case 1:
System.out.println("春天");
break;
case 2:
System.out.println("夏天");
break;
case 3:
System.out.println("秋天");
break;
case 4:
System.out.println("冬天");
break;
}
}
}
ステップ3:列挙トラバース
拡張forループを使用すると、簡単に定数が何であるかの列挙をトラバースすることができます
public class HelloWorld {
public static void main(String[] args) {
for (Season s : Season.values()) {
System.out.println(s);
}
}
}
運動:列挙
(リーグは非常に少ないカテゴリーがあります:
TANK(タンク)
WIZARD(マスター)
ASSASSIN(アサシン)
アシスト(支援)
WARRIOR(近接)
遠距離(リモート)
PUSH(事前)
農業(演奏フィールド)
列挙型のHeroType、使用の設計定数として分類上記
そして、switch文を書き、中国の文字列の各列挙定数の出力)
答え:
package charactor;
public enum HeroType {
TANK, WIZARD, ASSASSIN, ASSIST, WARRIOR, RANGED, PUSH, FARMING
}
。
package charactor;
public class Hero {
public String name; // 姓名
public static void main(String[] args) {
HeroType type = HeroType.ASSASSIN;
switch (type) {
case TANK:
System.out.println("坦克");
break;
case WIZARD:
System.out.println("法师");
break;
case ASSASSIN:
System.out.println("刺客");
break;
case ASSIST:
System.out.println("辅助");
break;
case WARRIOR:
System.out.println("近战");
break;
case RANGED:
System.out.println("远程战");
break;
case PUSH:
System.out.println("推进");
break;
case FARMING:
System.out.println("打野");
break;
}
}
}