Javaの自己 - クラスとオブジェクト列挙型

列挙型

ステップ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;
        }
    }
}

おすすめ

転載: www.cnblogs.com/jeddzd/p/11484790.html