掌握枚举类型

前言

在学习语言的时候,看到数据类型分类时看到了枚举类型,因为在之后的代码中很少涉及到枚举类型,所以一直以来没有搞明白枚举类型怎样使用,这一次把有关枚举类型的都放进来,好好整理一遍。

定义

枚举类型是属于派生数据类型,它是由用户定义的若干枚举常量的集合。
定义的格式如下:

enum<类型名>{<枚举常量表>};

格式说明

关键词的说明enum—指明其后的标识符是一个枚举类型的名字
枚举常量表—由枚举常量构成,“枚举常量”或称“枚举成员”,是以标识符形式表示的整型量,表示枚举类型的取值。
枚举常量表列出枚举类型的所有取值,各枚举常量之间以“,”间隔,且必须各不相同,取值类型与条件表达式相同。
代码举例:

enum week{Mon,Tue,Wed,Thu,Fri,Sat,Sun}; //定义枚举类型week

枚举常量的赋值

枚举常量的引入,是为了表示定义为枚举类型变量的取值,它表示了枚举类型变量所有的可能取值
枚举常量的取值两种情况:
一.默认状况下(未对枚举常量进行赋值)
枚举常量的赋值就是所列举元素的序号,序号从0开始
二.非默认状况下(对枚举常量进行赋值)
枚举类型允许用户为部分或全部枚举常量指定整数值,制定规则:
在指定值之前的枚举常量依旧按照默认状况下取值
在指定值之后的枚举常量按依次加1的原则取值

代码举例:

enum week{Mon,Tue,Wed=1,Thu,Fri,Sat,Sun}//枚举常量Mon= 0,Tue=1,Wed=1,Thu=2,Fri=3,Sat=4,Sun=5
enum week{Mon=7,Tue=2,Wed,Thu,Fri,Sat,Sun}//枚举常量Mon=7,Tue=2,Wed=3,Thu=4,Fri=5,Sat=6,Sun=7

注意:枚举常只能以标识符的形式存在,不能是整型(300),字符型(‘a’)常量。

枚举变量的使用

首先来说枚举变量定义出来的意义,其主要目的是:
增加程序的可读性,枚举类型最常见也最有意义的用处之一在于用来表示状态量

定义格式

定义格式分两种
一.定义枚举类型之后,再定义枚举类型的变量,格式如下:

week weekend1,weekend2; //定义枚举变量weekend1,weekend2

二.类型与变量同时定义,此时可以省略类型名,格式如下:

enum {Mon,Tue,Wed,Thu,Fri,Sat,Sun}week1,week2; 
//定义枚举变量week1,week2

相关操作

说到底,枚举变量的取值只能是取枚举常量表中所列的值,枚举类型就是整数类型的一个子集,所以枚举类型和整型是可以互相进行运算的!!!(重要的事情打惊叹号)
枚举变量占用内存大小与整型变量相同
枚举变量只能参与赋值和关系运算以及输出操作,参与运算时用枚举变量本身的整数值
代码举例:
定义

enum {Mon,Tue,Wed,Thu,Fri,Sat,Sun}week1,week2; 
//定义枚举变量week1,week2

赋值操作

week1=Mon;  //将枚举常量赋值给枚举变量
week2=week1;//将同类型的枚举变量赋值给枚举变量,week2的值为Mon
int i=week1;//将枚举变量的值赋值给整型变量,i的值为Mon
int k=Fri;  //将枚举常量赋值给整型变量,k的值为Fri即为4

枚举变量允许的关系运算:<、>、<=、>=等等
枚举变量可以直接输出,输出的是变量的整数值(这里我用的是Java代码,如果没有学过的话,只要记住这条语句是输出语句)
代码举例

 System.out.println(week1);//输出的是week1的取值Mon即为0

注意事项

*枚举变量可以直接输出,但是不允许直接输入
*不能直接将常量赋值给枚举变量
*不同类型的枚举变量是不同相互赋值的

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值