enum

C++ 枚举类型详解

时间秒杀一切 提交于 2019-11-30 04:43:13
枚举类型的定义: 枚举类型(enumeration)是 C++ 中的一种派生数据类型,它是由用户定义的若干枚举常量的集合。 定义格式:枚举类型的定义格式为: enum <类型名> {<枚举常量表>}; 格式说明: 关键字enum——指明其后的标识符是一个枚举类型的名字。 枚举常量表——由枚举常量构成。"枚举常量"或称"枚举成员",是以标识符形式表示的整型量,表示枚举类型的取值。枚举常量表列出枚举类型的所有取值,各枚举常量之间以","间隔,且必须各不相同。取值类型与条件表达式相同。 应用举例: enum color_set1 {RED, BLUE, WHITE, BLACK}; // 定义枚举类型color_set1 enum week {Sun, Mon, Tue, Wed, Thu, Fri, Sat}; // 定义枚举类型week 重要提示: 枚举常量代表该枚举类型的变量可能取的值,编译系统为每个枚举常量指定一个整数值,默认状态下,这个整数就是所列举元素的序号,序号从0开始。 可以在定义枚举类型时为部分或全部枚举常量指定整数值,在指定值之前的枚举常量仍按默认方式取值,而指定值之后的枚举常量按依次加1的原则取值。 各枚举常量的值可以重复。例如: enum fruit_set {apple, orange, banana=1, peach, grape} //枚举常量apple=0

python3(三十) Enum

生来就可爱ヽ(ⅴ<●) 提交于 2019-11-30 03:20:44
""" """ __author__ = 'shaozhiqi' # 当我们需要定义常量时,一个办法是用大写变量通过整数来定义,例如月份: JAN = 1 FEB = 2 MAR = 3 # 好处是简单,缺点是类型是int,并且仍然是变量 # --------------Enum---------------------------------------------- from enum import Enum Month = Enum('Month', ('Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec')) print(Month.Jan) # Month.Jan from enum import unique # @unique装饰器可以帮助我们检查保证没有重复值。 @unique class Weekday(Enum): Sun = 0 # Sun的value被设定为0 Mon = 1 Tue = 2 Wed = 3 Thu = 4 Fri = 5 Sat = 6 day1 = Weekday.Mon print(day1) # Weekday.Mon print(day1.value) # 1 for name, member in Weekday._

实用类

与世无争的帅哥 提交于 2019-11-30 00:40:47
学习目标: 掌握枚举类型 掌握Date类及Calendar类 理解包装类 掌握Math类的常用方法 会使用String类的常用方法 会使用StringBuffer类的常用方法 了解String类及StringBuffer类操作字符串的原理 会使用Random类生成随机数 ————————————————————————————————————— 认识枚举 从Java SE 5.0开始,Java程序设计语言引入了一种新的类型——枚举(Enum) 枚举是指由一组固定的常量组成的类型。使用关键字enum定义。 枚举其实就是一种类型,是java.long.Enum类的子类,继承了Enum类的许多有用的方法。深入了解请自行查看API帮助文档。 在Java中,通常使用枚举表示一组个数有限的值,用于实现对输入的值进行约束检查。 ————————————————————————————————————— 例1 : public enum Genders { 男,女 } public class Student { public Genders sex; public static void main(String[] args) { Student stu = new Student(); stu.sex = Genders.女; stu.sex = Genders.男; } } 例2

Intellij 配置live template的坑

╄→гoц情女王★ 提交于 2019-11-29 22:19:37
idea 在配置live template时,遇到一个小问题,记录如下: live template 的enum类型开始一直不起作用,后面发现每个元素都需要用双引号引起来, 比如 enum("String", "Long") 转载于:https://my.oschina.net/u/2366460/blog/1839483 来源: https://blog.csdn.net/chongqunmo9462/article/details/100941322

java中枚举类型的使用

假装没事ソ 提交于 2019-11-29 22:03:16
java中枚举类型的使用   Java 枚举(enum) 详解7种常见的用法   JDK1.5引入了新的类型——枚举。在 Java 中它虽然算个“小”功能,却给我的开发带来了“大”方便。 web项目里实体类使用枚举类型:   一般在该实体类的包下在新建一个enumeration包,把枚举类型的类写在enumeration包下,例如: 1 public enum Color { 2 RED, //红色 3 BLUE, //蓝色 4 GREEN //绿色 5 }   然后在实体类里引用这个枚举类。 1 @Enumerated(value = EnumType.STRING) 2 @Column(name = "color") 3 @NotNull 4 private Color color;    注意: (1)@Enumerated(value=EnumType.ORDINAL)采用枚举类型的序号值与数据库进行交互,   此时数据库的数据类型需要是数值类型,例如在实际操作中 CatTest ct = new CatTest(); ct.setColor(Color.BLUE);   当我们将对象ct保存到数据库中的时候,数据库中存储的数值是BLUE在Color枚举   定义中的序号1(序号从零开始); (2)@Enumerated(value=EnumType.STRING

java中枚举类型的使用

。_饼干妹妹 提交于 2019-11-29 22:02:25
java中枚举类型的使用   Java 枚举(enum) 详解7种常见的用法   JDK1.5引入了新的类型——枚举。在 Java 中它虽然算个“小”功能,却给我的开发带来了“大”方便。 web项目里实体类使用枚举类型:   一般在该实体类的包下在新建一个enumeration包,把枚举类型的类写在enumeration包下,例如: 1 public enum Color { 2 RED, //红色 3 BLUE, //蓝色 4 GREEN //绿色 5 }   然后在实体类里引用这个枚举类。 1 @Enumerated(value = EnumType.STRING) 2 @Column(name = "color") 3 @NotNull 4 private Color color;    注意: (1)@Enumerated(value=EnumType.ORDINAL)采用枚举类型的序号值与数据库进行交互,   此时数据库的数据类型需要是数值类型,例如在实际操作中 CatTest ct = new CatTest(); ct.setColor(Color.BLUE);   当我们将对象ct保存到数据库中的时候,数据库中存储的数值是BLUE在Color枚举   定义中的序号1(序号从零开始); (2)@Enumerated(value=EnumType.STRING

Mysql的建表规范与注意事项

这一生的挚爱 提交于 2019-11-29 20:44:41
一、库名、表名、字段名必须使用小写字母,“_”分割;库名、表名、字段名必须不超过12个字符;库名、表名、字段名见名知意,建议使用名词而不是动词。 二、建议使用InnoDB存储引擎。 存储引擎:innoDb支持事物,myisam不支持事物,建议使用innoDb, 5.5以后的默认引擘,支持事务,行级锁,更好的恢复性,高并发下性能更好,对多核,大内存,ssd等硬件支持更好。 (1) MyISAM表是独立于操作系统的,这说明可以轻松地将其从Windows服务器移植到Linux服务器;每当我们建立一个MyISAM引擎的表时,就会在本地磁盘上建立三个文件,文件名就是表明。例如,我建立了一个MyISAM引擎的tb_Demo表,那么就会生成以下三个文件: 1.tb_demo.frm,存储表定义; 2.tb_demo.MYD,存储数据; 3.tb_demo.MYI,存储索引。 MyISAM表无法处理事务,这就意味着有事务处理需求的表,不能使用MyISAM存储引擎。MyISAM存储引擎特别适合在以下几种情况下使用: 1.选择密集型的表。MyISAM存储引擎在筛选大量数据时非常迅速,这是它最突出的优点。 2.插入密集型的表。MyISAM的并发插入特性允许同时选择和插入数据。例如:MyISAM存储引擎很适合管理邮件或Web服务器日志数据。 (2) InnoDB是一个健壮的事务型存储引擎

java动态更新枚举类

烈酒焚心 提交于 2019-11-29 19:07:08
工作中遇到需要对枚举类的值进行动态更新 手动改不现实也不方便 现记录下来方便以后学习使用 1.在工程utils包中添加动态更新枚举类得工具类(根据自己得项目,放到指定位置调用就可以) 2.一开始陷入了误区,认为要根据我自己得枚举类去修改,addEnum和makeEnum方法因为网上示例都是两个参数得, 而我的是5个的,弄了好久(被自己蠢晕)才发现,它是个数组啊。 package com.genju.ziji.dexiangmu.util; import sun.reflect.ConstructorAccessor; import sun.reflect.FieldAccessor; import sun.reflect.ReflectionFactory; import java.lang.reflect.AccessibleObject; import java.lang.reflect.Array; import java.lang.reflect.Field; import java.lang.reflect.Modifier; import java.util.ArrayList; import java.util.Arrays; import java.util.List; /** * 动态新增枚举工具类 */ public class DynamicEnumUtil

C语言 枚举类型

自闭症网瘾萝莉.ら 提交于 2019-11-29 17:34:44
https://www.runoob.com/cprogramming/c-enum.html C enum(枚举) 枚举是 C 语言中的一种基本数据类型,它可以让数据更简洁,更易读。 枚举语法定义格式为: enum 枚举名 {枚举元素1,枚举元素2,……}; 接下来我们举个例子,比如:一星期有 7 天,如果不用枚举,我们需要使用 #define 来为每个整数定义一个别名: #define MON 1 #define TUE 2 #define WED 3 #define THU 4 #define FRI 5 #define SAT 6 #define SUN 7 这个看起来代码量就比较多,接下来我们看看使用枚举的方式: enum DAY { MON=1, TUE, WED, THU, FRI, SAT, SUN }; 这样看起来是不是更简洁了。 注意: 第一个枚举成员的默认值为整型的 0,后续枚举成员的值在前一个成员上加 1。我们在这个实例中把第一个枚举成员的值定义为 1,第二个就为 2,以此类推。 可以在定义枚举类型时改变枚举元素的值: enum season {spring, summer=3, autumn, winter}; 没有指定值的枚举元素,其值为前一元素加 1。也就说 spring 的值为 0,summer 的值为 3,autumn 的值为 4,winter

enum类型

白昼怎懂夜的黑 提交于 2019-11-29 17:04:38
定义 enum枚举类型:在实际问题中,有些变量的取值被限定在一个有限的范围内。例如,一个星期内只有七天,一年只有十二个月,一个班每周有六门课程等等。如果把这些量说明为整型,字符型或其它类型显然是不妥当的。为此,C语言提供了一种称为“枚举”的类型。在“枚举”类型的定义中列举出所有可能的取值,被说明为该“枚举”类型的变量取值不能超过定义的范围。应该说明的是,枚举类型是一种基本数据类型,而不是一种构造类型,因为它不能再分解为任何基本类型。 enum类型定义 enum 的定义形式如下: enum enum_name { enum_value1, enum_value2, ... enum_valuen };如果没有定义enum变量的需求,enum_name可以省略。 在以上形式下,第一个值,enum_value1, 默认值为0,以下各条分别为上一条加一。 如果要改变enum的第一个值,或enum各个项值不连续,可以写为 enum enum_name { enum_value1= -100, enum_value2, ... enum_valuem = 1234, enum_valuem1, ... enum_valuen };其中显式赋值的enum项,实际值就是显式赋值的值。其余项仍遵从上一项加一的原则。 这个例子中,enum_value2 = -99, enum_valuem1 =