枚举类怎么写

1.java枚举类怎么写

枚举(enum)类型是Java 5新增的特性,它是一种新的类型,允许用常量来表示特定的数据片断,而且全部都以类型安全的形式来表示。

1、常量的使用 在JDK1.5之前,我们定义常量都是:public static fianl。.。

现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法。1234567 package com; public enum Color { RED, GREEN, BLANK, YELLOW } 使用123456789101112131415161718192021 package com; public class B { public static void main(String[] args) { System.out.println( isRed( Color.BLANK ) ) ; //结果: false System.out.println( isRed( Color.RED ) ) ; //结果: true } static boolean isRed( Color color ){ if ( Color.RED.equals( color )) { return true ; } return false ; } } 或者 switch 的使用12345678910111213141516171819202122232425 package com; public class B { public static void main(String[] args) { showColor( Color.RED ); } static void showColor(Color color){ switch ( color ) { case BLANK: System.out.println( color ); break; case RED : System.out.println( color ); break; default: System.out.println( color ); break; } }}2、自定义函数 package com; public enum Color { RED("红色", 1), GREEN("绿色", 2), BLANK("白色", 3), YELLO("黄色", 4); private String name ; private int index ; private Color( String name , int index ){ this.name = name ; this.index = index ; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getIndex() { return index; } public void setIndex(int index) { this.index = index; } } 使用 package com; public class B { public static void main(String[] args) { //输出某一枚举的值 System.out.println( Color.RED.getName() ); System.out.println( Color.RED.getIndex() ); //遍历所有的枚举 for( Color color : Color.values()){ System.out.println( color + " name: " + color.getName() + " index: " + color.getIndex() ); } } } 结果 红色1 RED name: 红色 index: 1 GREEN name: 绿色 index: 2 BLANK name: 白色 index: 3 YELLO name: 黄色 index: 4 总结:1、枚举的本质是类,在没有枚举之前,仍然可以按照java最基本的编程手段来解决需要用到枚举的地方。

枚举屏蔽了枚举值的类型信息,不像在用public static final定义变量必须指定类型。枚举是用来构建常量数据结构的模板,这个模板可扩展。

枚举的使用增强了程序的健壮性,比如在引用一个不存在的枚举值的时候,编译器会报错。枚举的更多用法还需要在开发中去研究创造,Java5、Java6增加了不少新的特性,技术在升级,对程序员来说就要学习,如果你热爱java的话。

否则别人用到新特性的代码你看不懂,那才叫郁闷。2、枚举在Java家族中只占了很小的一块比重,所以我在项目中用枚举的地方不是很多,毕竟,一个项目是很多人开发维护的,用一个陌生的东西,会给其他的同事造成阅读困难。

所以常量大都是用public static final 来定义的。

2.枚举 enum 这样写对吗

对的

C语言的枚举类型实质就是整型变量,只不过通过枚举类型将一类有关联的标识组合起来,增加程序的可读性和可维护性

(1) 枚举型是一个集合,集合中的元素(枚举成员)是一些命名的整型常量,元素之间用逗号,隔开。

(2) DAY是一个标识符,可以看成这个集合的名字,是一个可选项,即是可有可无的项。

(3) 第一个枚举成员的默认值为整型的0,后续枚举成员的值在前一个成员上加1。

(4) 可以人为设定枚举成员的值,从而自定义某个范围内的整数。

(5) 枚举型是预处理指令#define的替代。

(6) 类型定义以分号;结束。

定义枚举类型

enum YOURENUMTYPE

{

ID1,//如果不额外指定则第一个标识等于整数0,后续依次加1

ID2,

ID3=7,

.

IDn//最后一个标识符后面没有逗号

};//注意一定要加上这个分号

定义枚举变量

enum YOURENUMTYPE varname;

给枚举变量赋值 varname = IDx;

举个完整的例子

enum FRUIT

{

APPLE,

PEAR,

ORANGE,

PEACH,

GRAPE,

BANANA

};

enmu FRUIT myfruit = PEACH;

3.枚举 enum 这样写对吗

对的C语言的枚举类型实质就是整型变量,只不过通过枚举类型将一类有关联的标识组合起来,增加程序的可读性和可维护性(1) 枚举型是一个集合,集合中的元素(枚举成员)是一些命名的整型常量,元素之间用逗号,隔开。

(2) DAY是一个标识符,可以看成这个集合的名字,是一个可选项,即是可有可无的项。(3) 第一个枚举成员的默认值为整型的0,后续枚举成员的值在前一个成员上加1。

(4) 可以人为设定枚举成员的值,从而自定义某个范围内的整数。(5) 枚举型是预处理指令#define的替代。

(6) 类型定义以分号;结束。定义枚举类型enum YOURENUMTYPE{ ID1,//如果不额外指定则第一个标识等于整数0,后续依次加1 ID2, ID3=7, 。

. IDn//最后一个标识符后面没有逗号};//注意一定要加上这个分号定义枚举变量enum YOURENUMTYPE varname;给枚举变量赋值 varname = IDx;举个完整的例子enum FRUIT{ APPLE, PEAR, ORANGE, PEACH, GRAPE, BANANA };enmu FRUIT myfruit = PEACH;。

4.介绍一下java枚举,顺便举个例子,谢谢

package com.ljq.test;/** * 枚举用法详解 * * @author jiqinlin * */public class TestEnum { /** * 普通枚举 * * @author jiqinlin * */ public enum ColorEnum { red, green, yellow, blue; } /** * 枚举像普通的类一样可以添加属性和方法,可以为它添加静态和非静态的属性或方法 * * @author jiqinlin * */ public enum SeasonEnum { //注:枚举写在最前面,否则编译出错 spring, summer, autumn, winter; private final static String position = "test"; public static SeasonEnum getSeason() { if ("test".equals(position)) return spring; else return winter; } } /** * 性别 * * 实现带有构造器的枚举 * * @author jiqinlin * */ public enum Gender{ //通过括号赋值,而且必须带有一个参构造器和一个属性跟方法,否则编译出错 //赋值必须都赋值或都不赋值,不能一部分赋值一部分不赋值;如果不赋值则不能写构造器,赋值编译也出错 MAN("MAN"), WOMEN("WOMEN"); private final String value; //构造器默认也只能是private, 从而保证构造函数只能在内部使用 Gender(String value) { this.value = value; } public String getValue() { return value; } } /** * 订单状态 * * 实现带有抽象方法的枚举 * * @author jiqinlin * */ public enum OrderState { /** 已取消 */ CANCEL {public String getName(){return "已取消";}}, /** 待审核 */ WAITCONFIRM {public String getName(){return "待审核";}}, /** 等待付款 */ WAITPAYMENT {public String getName(){return "等待付款";}}, /** 正在配货 */ ADMEASUREPRODUCT {public String getName(){return "正在配货";}}, /** 等待发货 */ WAITDELIVER {public String getName(){return "等待发货";}}, /** 已发货 */ DELIVERED {public String getName(){return "已发货";}}, /** 已收货 */ RECEIVED {public String getName(){return "已收货";}}; public abstract String getName(); } public static void main(String[] args) { //枚举是一种类型,用于定义变量,以限制变量的赋值;赋值时通过“枚举名.值”取得枚举中的值 ColorEnum colorEnum = ColorEnum.blue; switch (colorEnum) { case red: System.out.println("color is red"); break; case green: System.out.println("color is green"); break; case yellow: System.out.println("color is yellow"); break; case blue: System.out.println("color is blue"); break; } //遍历枚举 System.out.println("遍历ColorEnum枚举中的值"); for(ColorEnum color : ColorEnum.values()){ System.out.println(color); } //获取枚举的个数 System.out.println("ColorEnum枚举中的值有"+ColorEnum.values().length+"个"); //获取枚举的索引位置,默认从0开始 System.out.println(ColorEnum.red.ordinal());//0 System.out.println(ColorEnum.green.ordinal());//1 System.out.println(ColorEnum.yellow.ordinal());//2 System.out.println(ColorEnum.blue.ordinal());//3 //枚举默认实现了java.lang.Comparable接口 System.out.println(ColorEnum.red.compareTo(ColorEnum.green));//-1 //-------------------------- System.out.println("==========="); System.err.println("季节为" + SeasonEnum.getSeason());//-------------- System.out.println("==========="); for(Gender gender : Gender.values()){ System.out.println(gender.value); } //-------------- System.out.println("==========="); for(OrderState order : OrderState.values()){ System.out.println(order.getName()); } }}。

5.枚举类型的用法

C/C++中枚举类型(enum)如果一个变量你需要几种可能存在的值,那么就可以被定义成为枚举类型。

之所以叫枚举就是说将变量或者叫对象可能存在的情况也可以说是可能的值一一例举出来。 举个例子来说明一吧,为了让大家更明白一点,比如一个铅笔合中有一支笔,但在没有打开之前你并不知道它是什么笔,可能是铅笔也可能是钢笔,这里有两种可能,那么你就可以定义一个枚举类型来表示它! enum box{pencil,pen};//这里你就定义了一个枚举类型的变量叫box,这个枚举变量内含有两个元素也称枚举元素在这里是pencil和pen,分别表示铅笔和钢笔。

在这里要说一下,如果你想定义两个具有同样特性枚举类型的变量那么你可以用如下的两种方式进行定义! enum box{pencil,pen}; enum box box2;//或者简写成box box2; 再有一种就是在声明的时候同时定义。 enum {pencil,pen}box,box2; //在声明的同时进行定义! 枚举变量中的枚举元素系统是按照常量来处理的,故叫枚举常量,他们是不能进行普通的算术赋值的,(pencil=1;)这样的写发是错误的,但是你可以在声明的时候进行赋值操作! enum box{pencil=1,pen=2}; 但是这里要特别注意的一点是,如果你不进行元素赋值操作那么元素将会被系统自动从0开始自动递增的进行赋值操作,说到自动赋值,如果你只定义了第一个那么系统将对下一个元素进行前一个元素的值加1操作,例如 enum box{pencil=3,pen};//这里pen就是4系统将自动进行pen=4的定义赋值操作! C++ 中的枚举类型继承于 C 语言。

就像其他从 C 语言继承过来的很多特性一样,C++ 枚举也有缺点,这其中最显著的莫过于作用域问题——在枚举类型中定义的常量,属于定义枚举的作用域,而不属于这个枚举类型。例如下面的示例:enum FileAccess { Read = 0x1, Write = 0x2,};FileAccess access = ::Read; // 正确FileAccess access = FileAccess::Read; // 错误C++枚举的这个特点对于习惯面向对象和作用域概念的人来说是不可接受的。

首先,FileAccess::Read 显然更加符合程序员的直觉,因为上面的枚举定义理应等价于如下的定义(实际上,.NET 中的枚举类型便是如此实现的):class FileAccess { static const int Read = 0x1; static const int Write = 0x2;};其次,这导致我们无法在同一个作用域中定义两个同样名称的枚举值。也就是说,以下的代码是编译错误:enum FileAccess { Read = 0x1, Write = 0x2,};enum FileShare { Read = 0x1, // 重定义 Write = 0x2, // 重定义};如果这一点没有让你恼怒过的话,你可能还没写过多少 C++ 代码 :-)。

实际上,在最新的 C++0x 标准草案中有关于枚举作用域问题的提案,但最终的解决方案会是怎样的就无法未卜先知了,毕竟对于象 C++ 这样使用广泛的语言来说,任何特性的增删和修改都必须十分小心谨慎。当然,我们可以使用一些迂回的方法来解决这个问题(C++ 总是能给我们很多惊喜和意外)。

例如,我们可以把枚举值放在一个结构里,并使用运算符重载来逼近枚举的特性:struct FileAccess { enum __Enum { Read = 0x1, Write = 0x2 }; __Enum _value; // 枚举值 FileAccess(int value = 0) : _value((__Enum)value) {} FileAccess& operator=(int value) { this->_value = (__Enum)value; return *this; } operator int() const { return this->_value; }};我们现在可以按照希望的方式使用这个枚举类型:FileAccess access = FileAccess::Read;并且,因为我们提供了到 int 类型的转换运算符,因此在需要 int 的地方都可以使用它,例如 switch 语句:switch (access) { case FileAccess::Read: break; case FileAccess::Write: break;}当然我们不愿意每次都手工编写这样的结构。通过使用宏,我们可以很容易做到这一点:#define DECLARE_ENUM(E) \struct E \{ \public: \ E(int value = 0) : _value((__Enum)value) { \ } \ E& operator=(int value) { \ this->_value = (__Enum)value; \ return *this; \ } \ operator int() const { \ return this->_value; \ } \\ enum __Enum {#define END_ENUM() \ }; \\private: \ __Enum _value; \};我们现在可以按如下的方式定义前面的枚举,并且不比直接写 enum 复杂多少。

DECLARE_ENUM(FileAccess) Read = 0x1, Write = 0x2,END_ENUM()DECLARE_ENUM(FileShare) Read = 0x1, Write = 0x2,END_ENUM()。

6.请帮我写一个java 枚举类型的典型例子,谢谢

public class T {

public static void main(String[] args){

int a=4,b=2;

//依次计算 4 和 2 +-*/ 产生的结果;

for(int i=0; iE e=E.values()[i];

int v=e.calc(4,2);

System.out.println(a+e.op()+b+"="+v);

}

}

}

//加减乘除的枚举

enum E{

ADD {

int calc(int a, int b) {return a+b;}

String op(){return "+";}

},

SUBTRACT {

int calc(int a, int b) {return a-b;}

String op(){return "-";}

},

MULTIPLY {

int calc(int a, int b) {return a*b;}

String op(){return "*";}

},

DIVIDE {

int calc(int a, int b) {return a/b;}

String op(){return "/";}

};

abstract int calc(int a,int b);

abstract String op();

}

-------编译输出--------

D:\>javac T.java

D:\>java T

4+2=6

4-2=2

4*2=8

4/2=2

D:\>

7.介绍一下java枚举,顺便举个例子,谢谢

package com.ljq.test;/** * 枚举用法详解 * * @author jiqinlin * */ public class TestEnum { /** * 普通枚举 * * @author jiqinlin * */ public enum ColorEnum { red, green, yellow, blue; } /** * 枚举像普通的类一样可以添加属性和方法,可以为它添加静态和非静态的属性或方法 * * @author jiqinlin * */ public enum SeasonEnum { //注:枚举写在最前面,否则编译出错 spring, summer, autumn, winter; private final static String position = "test"; public static SeasonEnum getSeason() { if ("test".equals(position)) return spring; else return winter; } } /** * 性别 * * 实现带有构造器的枚举 * * @author jiqinlin * */ public enum Gender{ //通过括号赋值,而且必须带有一个参构造器和一个属性跟方法,否则编译出错 //赋值必须都赋值或都不赋值,不能一部分赋值一部分不赋值;如果不赋值则不能写构造器,赋值编译也出错 MAN("MAN"), WOMEN("WOMEN"); private final String value; //构造器默认也只能是private, 从而保证构造函数只能在内部使用 Gender(String value) { this.value = value; } public String getValue() { return value; } } /** * 订单状态 * * 实现带有抽象方法的枚举 * * @author jiqinlin * */ public enum OrderState { /** 已取消 */ CANCEL {public String getName(){return "已取消";}}, /** 待审核 */ WAITCONFIRM {public String getName(){return "待审核";}}, /** 等待付款 */ WAITPAYMENT {public String getName(){return "等待付款";}}, /** 正在配货 */ ADMEASUREPRODUCT {public String getName(){return "正在配货";}}, /** 等待发货 */ WAITDELIVER {public String getName(){return "等待发货";}}, /** 已发货 */ DELIVERED {public String getName(){return "已发货";}}, /** 已收货 */ RECEIVED {public String getName(){return "已收货";}}; public abstract String getName(); } public static void main(String[] args) { //枚举是一种类型,用于定义变量,以限制变量的赋值;赋值时通过“枚举名.值”取得枚举中的值 ColorEnum colorEnum = ColorEnum.blue; switch (colorEnum) { case red: System.out.println("color is red"); break; case green: System.out.println("color is green"); break; case yellow: System.out.println("color is yellow"); break; case blue: System.out.println("color is blue"); break; } //遍历枚举 System.out.println("遍历ColorEnum枚举中的值"); for(ColorEnum color : ColorEnum.values()){ System.out.println(color); } //获取枚举的个数 System.out.println("ColorEnum枚举中的值有"+ColorEnum.values().length+"个"); //获取枚举的索引位置,默认从0开始 System.out.println(ColorEnum.red.ordinal());//0 System.out.println(ColorEnum.green.ordinal());//1 System.out.println(ColorEnum.yellow.ordinal());//2 System.out.println(ColorEnum.blue.ordinal());//3 //枚举默认实现了java.lang.Comparable接口 System.out.println(ColorEnum.red.compareTo(ColorEnum.green));//-1 //-------------------------- System.out.println("==========="); System.err.println("季节为" + SeasonEnum.getSeason());//-------------- System.out.println("==========="); for(Gender gender : Gender.values()){ System.out.println(gender.value); } //-------------- System.out.println("==========="); for(OrderState order : OrderState.values()){ System.out.println(order.getName()); } } }。

枚举类怎么写

转载请注明出处育才学习网 » 枚举类怎么写

知识

主持人自我介绍怎么写

阅读(201)

本文主要为您介绍主持人自我介绍怎么写,内容包括主持人一分钟自我介绍,有关主持人的简短自我介绍怎么写,校园主持人自我介绍班里拉我去参加校园支持人大赛,还要自我。:::开场::: 前面几位说的都很好,但尊敬的各位评委,请不要急着打分,因为我才是最棒

知识

庙会请柬怎么写

阅读(630)

本文主要为您介绍庙会请柬怎么写,内容包括庙会请柬怎么写,庙会请柬怎么写,庙会请柬怎么写。请柬:请柬是用于邀请公众参加庆典、宴会、纪念会、展览会等活动时常用的通知性的人际交流形式。格式:1.封面:注明"请柬"、"恭请"等。 2

知识

下一步工作设想怎么写

阅读(198)

本文主要为您介绍下一步工作设想怎么写,内容包括下一步工作计划怎么写,幼儿在园心得体会及下一步工作设想怎么写,本职工作下一步的主要设想怎么写。写好工作计划四大要素 工作内容:做什么(WHAT)--------工作目标、任务。计划应规定出在一定时

知识

街舞社申请书怎么写

阅读(222)

本文主要为您介绍街舞社申请书怎么写,内容包括加入学校街舞社的申请书怎样写,加入舞蹈社团的申请书,进街舞社的申请书,需要一份例文,不要格式,我想看着哪个写一下。街舞社申请书 光明临来新校生。现在大家聚在一起, 高中的生活丰富多彩,时下

知识

怎么写品牌价值

阅读(196)

本文主要为您介绍怎么写品牌价值,内容包括品牌简介怎么写,如何构建品牌核心价值,品牌定位怎么写。品牌核心价值必须满足消费者的需求这种需求可能是明确的需求,也有可能是潜在需求,可能是物质上的,也可能是精神层面的,可能是必需的,也可能是

知识

苏教版六年级上册习作六怎么写常熟的

阅读(229)

本文主要为您介绍苏教版六年级上册习作六怎么写常熟的,内容包括苏教版六年级上册习作六怎么写,我是江苏的,要快我给高分,六年级上册苏教版的习作6怎么写急~~~在线等~~~要江苏省常州,苏教版六年级上册语文习作六的作文怎么写是关于家乡的名

知识

主字的繁体字怎么写

阅读(210)

本文主要为您介绍主字的繁体字怎么写,内容包括主的繁体字怎么写,主的繁体字怎么写的,主繁体字怎么写。主的繁体字怎么写 ( 主 | 主 ) 主的拼音/主的音标 zhǔ 主的意思是什么 (1)(名)接待别人的人:~人|宾~|东道~。(2)(

知识

痔疮手术怎么写

阅读(237)

本文主要为您介绍痔疮手术怎么写,内容包括痔疮手术病例怎么写病情描述(发病时间,痔疮病例怎么写,痔疮记录怎么写。痔疮不是新病,古代也有,而且痔疮不是由病菌引起的,中医可中药治疗。粮蔬羹粮蔬羹系列分为健常粮品、健痔粮品和健桖粮品3种。其

知识

湖300字作文怎么写

阅读(154)

本文主要为您介绍湖300字作文怎么写,内容包括大明湖'作文300字怎么写,美丽的湖作文300字左右,逍遥湖300字作文大全。走进大明湖公园,顺着弯弯的小路向湖边走去。离湖面还有几步时,忽然觉得眼前金光闪闪,亮的逼你的眼,“哪来的金光?”,正纳闷

知识

里怎么用拼音写

阅读(210)

本文主要为您介绍里怎么用拼音写,内容包括姓名和拼音怎么写,拼音的拼音怎么写,用拼音怎么写。人名汉语拼音拼写方式统一要求:姓在前名在后。例:Wáng Fāng王芳、Yáng Wèimín杨为民、Zhào Píngān赵平安。汉语

知识

异地恋写贺卡怎么写

阅读(195)

本文主要为您介绍异地恋写贺卡怎么写,内容包括异地恋,情人节,送花,贺卡怎么写,给异地恋的对象写一个生日贺卡,怎么写,写点啥好,给男朋友写异地恋生日贺卡怎么写是。我忽略时间,因为等你出现;我忽略距离,因为等你出现;我忽略语言,因为想你一直未

知识

很瘦的英文怎么写

阅读(572)

本文主要为您介绍很瘦的英文怎么写,内容包括我很瘦用英文怎么写,瘦的英语单词怎么写,瘦的英文怎么写。“我很瘦”的英文:Im very thin.词汇解析:Im英 [aɪm]我是2、very英 [ˈveri] 美 [ˈvɛri] adj.

知识

购物记录单怎么写

阅读(210)

本文主要为您介绍购物记录单怎么写,内容包括小学生的新学期购物清单,购物清单怎么写,购物清单怎么写。出门逛街之前,想要提前制作一个购物清copy单,按照清单上的物品买东西,可参考敬业签云便签带来的演示步骤:1. 首先在手机上安bai装敬

知识

齐齐用韩文怎么写

阅读(198)

本文主要为您介绍齐齐用韩文怎么写,内容包括巨齐齐韩语名字咋写,请问谁知道“齐”字韩语怎么写谢谢,请问谁知道“齐”字韩语怎么写谢谢。佳,是好的意思,用韩国语写作좋다. 它是一个形容词。韩国语形容词的定义: 定义:表示事物的性质或状态的词

知识

ios枚举怎么写

阅读(160)

本文主要为您介绍ios枚举怎么写,内容包括ios开发为什么枚举里经常用<<,ios中数组,字典集合部类的几种常用枚举方法,枚举enum这样写对吗。NSMutableArray *array=[[NSMutableArray alloc]initWithObjects:@apple,

知识

怎么写枚举值

阅读(172)

本文主要为您介绍怎么写枚举值,内容包括枚举enum这样写对吗,如何获取enum枚举值,枚举enum这样写对吗。对的C语言的枚举类型实质就是整型变量,只不过通过枚举类型将一类有关联的标识组合起来,增加程序的可读性和可维护性(1) 枚举型是一个集合,

知识

枚举法怎么写

阅读(178)

本文主要为您介绍枚举法怎么写,内容包括c语言中用枚举法写一个水仙花数的程序,用枚举法写出下列集合{x|x=2或x=5}和F={|x,y∈Z并且(0≦x≦2),(2≦y,用枚举法写出下列集合{x|x=2或x=5}。题目:打印出所有的“水仙花数”,所谓“水仙花数”是指一个

知识

枚举怎么写

阅读(184)

本文主要为您介绍枚举怎么写,内容包括java枚举类怎么写,c#的枚举类型格式怎么写,枚举类型有什么用怎么用谢谢。枚举(enum)类型是Java 5新增的特性,它是一种新的类型,允许用常量来表示特定的数据片断,而且全部都以类型安全的形式来表示。常量的

[/e:loop]