java 枚举对象_Java自学-类和对象 枚举类型

枚举类型

步骤 1 : 预先定义的常量

枚举enum是一种特殊的类(还是类),使用枚举可以很方便的定义常量

比如设计一个枚举类型 季节,里面有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 : 使用枚举的好处

假设在使用switch的时候,不是使用枚举,而是使用int,而int的取值范围就不只是1-4,有可能取一个超出1-4之间的值,这样判断结果就似是而非了。(因为只有4个季节)

但是使用枚举,就能把范围死死的限定在这四个当中

SPRING,SUMMER,AUTUMN,WINTER

而不会出现奇怪的 第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 (刺客)

ASSIST (辅助)

WARRIOR (近战)

RANGED (远程 )

PUSH (推进)

FARMING (打野)

设计一个枚举类型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;

}

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值