精华内容
下载资源
问答
  • c枚举类型enum用法 枚举类型enum用法 怎么去取所有
    2021-01-13 04:51:31

    JUDGE(S W ) 指 W 属于 S 枚举类型还是自定义函数里的2个变量不要太久太久不联系我,我怕我一不小心把你忘了。

    (1) 枚举型是一个集合,集合中的元素(枚举成员)是一些命名的整型常量,元素之间用逗号,隔开。 (2) DAY是一个标识符,可以看成这个集合的名字,是一个可选项,即是可有可无的项。 (3) 第一个枚举成员的默认值为整型的0。

    enum :声明枚举类型 是什么意思

    就是你声明的这个枚举变量的值,只能取其中的东西,比如:enum {Monday,Tuesday,Wednesday,Thursday,Friday} weekday;那weekday这个变脸的值只能是{}中的值。(他们分别对应数字0,1,2,3,4。

    c语言中 ,枚举类型enum 的枚举值,可以是什么类型的枚举声明可以显式地声明 byte、sbyte、short、ushort、int、uint、long 或 ulong 类型作为对应的基础类型。没有显式地声明基础类型的枚举声明意味着所对应的基础类型是 int渐渐的习惯了有你的感觉,有你我的生活才算知足

    例如: struct SubjectValidType { enum Type { ALL = 0, VALID = 1, IN不同语言的枚举定义关键字有所不,内容大致相同。 每一个理智淡定的现在,都有一个很傻很天真的曾经。

    以为vb6为例,所谓枚举变量,就是指用 Enum 类型定义的变量。变量和参数都可以定义为 Enum 类型。Enum 类型中的元素被初始化为 Enum 语句中指定的常数值。

    C语言中如何控制枚举类型占用空间的大小

    C语言中枚举类型会根据其值的取值范围由编译器自动决定枚举变量所占的空在枚举类型后面设置对应的 :类型 即可。比如 enum cnum : char (这里加上 :char) #include enum cnum : char // 加上 :char 则元素是 char 类型{ c_one, c_two, c_three};enum snum : short // 加上 :short 则元素是 short 类型{ s_one, s_tw有些人选择先戒备,收到足够关爱之后再友善;我却天生热情爱讨好,一味付出直到受伤害了才学乖。很难讲究竟哪种方式更高明,他们或许杜绝了未知的伤心,我却遇见了你。

    C语言中,我这样用enum 怎么调用里面的成员啊enum { END_CMD, GOTO_CMD, IF_CMD, };亲爱的,你若是那天边的云朵,我便是那初升的太阳,存在,只为温暖你那历经寒夜的身心,风,是我们爱情的信使,天空,使我们爱情的见证,让我们感受爱情的美好吧。

    直接使用你在enum里面定义的标识符即可。

    C++中类的一个数据成员是枚举类型,那么它在类中该在全局中声明 enum direction{UP, DOWN, LEFT, RIGHT}; 类中 class object { direction di; //定义枚举类型变量 public: object() { di = UP; //这样赋值来自孤独受罪,恋爱受累。梦里花开,梦醒花败。世事难料,别太可笑。若能知心,谁会痴心。

    c语言中 ,枚举类型enum 的枚举值,可以是什么类型的...枚举就是个有符号的整形。 所以CHAR,SHO,INT 都可以。 如果ENUM长度可以在你机器上达到4,都可以存放指针。看你机器了。

    以上就是土嘎嘎为大家整理的c枚举类型enum用法内容,如果觉得本站更新的资源对您有帮助 不要忘记分享给您身边的朋友哦!

    更多相关内容
  • NULL 博文链接:https://rensanning.iteye.com/blog/2013734
  • enum型也被成为枚举类型,它是一种可以将多个常量分组为一个并附加一系列值的类型,使用枚举定义的常量称为枚举器列表,默认情况下,枚举器从零开始按顺序编号。本篇文章给大家介绍关于JavaScript中枚举类型使用。...
  • 枚举类型enum用法

    2020-08-20 06:01:11
    枚举常量是枚举类型中的值,即枚举值。枚举类型是一种用户定义的类型,只有用户在程序中定义它后才能被使用
  • 主要介绍了Java枚举(enum) 详解7种常见的用法,具有一定的参考价值,有需要的可以了解一下。
  • 深入理解java枚举类型enum用法

    千次阅读 2021-03-05 17:48:36
    下面是我在使用 enum 过程中的一些经验和总结。原始的接口定义常量publicinterface IConstants { StringMON = “Mon”; StringTUE = “Tue”; StringWED = “Wed”;StringTHU = “Thu”; Stri...

    enum 的全称为 enumeraTIon, 是 JDK 1.5 中引入的新特性,存放在 java.lang 包中。

    下面是我在使用 enum 过程中的一些经验和总结。

    原始的接口定义常量

    publicinterface IConstants { StringMON = “Mon”; StringTUE = “Tue”; StringWED = “Wed”;StringTHU = “Thu”; StringFRI = “Fri”; StringSAT = “Sat”; StringSUN = “Sun”; }

    语法(定义)

    创建枚举类型要使用 enum 关键字,隐含了所创建的类型都是 java.lang.Enum 类的子类(java.lang.Enum 是一个抽象类)。枚举类型符合通用模式 Class Enum

    packagecom.hmw.test; /** * 枚举测试类 *@author《a href=“mailto:hemingwang0902@126.com”》何明旺《/a》 */publicenumEnumTest { MON, TUE, WED, THU, FRI, SAT, SUN; }

    这段代码实际上调用了7次 Enum(String name, int ordinal):

    new Enum《EnumTest》( “MON”, 0); new Enum《EnumTest》( “TUE”, 1); new Enum《EnumTest》( “WED”, 2); 。。.。。.

    遍历、switch 等常用操作

    对enum进行遍历和switch的操作示例代码:

    public class Test { public staTIc void main(String[] args) { for(EnumTest e : EnumTest.values()) { System.out.println(e.toString()); } System.out.println( “----------------我是分隔线------------------”); EnumTest test = EnumTest.TUE; switch(test) { case MON: System.out.println( “今天是星期一”); break; case TUE: System.out.println( “今天是星期二”); break; // 。。.。。.default: System.out.println(test); break; } } }

    输出结果:

    MONTUEWEDTHUFRISATSUN----------------我是分隔线------------------今天是星期二

    enum 对象的常用方法介绍

    int compareTo(E o)

    比较此枚举与指定对象的顺序。

    Class getDeclaringClass()

    返回与此枚举常量的枚举类型相对应的 Class 对象。

    String name()

    返回此枚举常量的名称,在其枚举声明中对其进行声明。

    int ordinal()

    返回枚举常量的序数(它在枚举声明中的位置,其中初始常量序数为零)。

    String toString()

    返回枚举常量的名称,它包含在声明中。

    staTIc

    /** * Java学习交流QQ群:589809992 我们一起学Java! */publicclassTest{publicstaTIcvoidmain(String[] args) { EnumTest test = EnumTest.TUE;//compareTo(E o)switch(test.compareTo(EnumTest.MON)) { case- 1: System.out.println(“TUE 在 MON 之前”); break; case1: System.out.println( “TUE 在 MON 之后”); break;default: System.out.println( “TUE 与 MON 在同一位置”); break; }//getDeclaringClass()System.out.println( “getDeclaringClass(): ”+ test.getDeclaringClass().getName()); //name() 和 toString()System.out.println( “name(): ”+ test.name()); System.out.println( “toString(): ”+ test.toString()); //ordinal(), 返回值是从 0 开始System.out.println( “ordinal(): ”+ test.ordinal()); } }

    输出结果:

    TUE 在 MON 之后 getDeclaringClass(): com.hmw.test.EnumTestname(): TUE toString(): TUE ordinal(): 1

    给 enum 自定义属性和方法

    给 enum 对象加一下 value 的属性和 getValue() 的方法:

    packagecom.hmw.test; /** * 枚举测试类 * *@author《a href=“mailto:hemingwang0902@126.com”》何明旺《/a》 */publicenumEnumTest { MON( 1), TUE( 2), WED( 3), THU( 4), FRI( 5), SAT( 6) { @OverridepublicbooleanisRest() {returntrue; } }, SUN( 0) { @OverridepublicbooleanisRest() { returntrue; } }; privateintvalue;privateEnumTest( intvalue) { this.value = value; } publicintgetValue() { returnvalue; }publicbooleanisRest() { returnfalse; } } publicclassTest{publicstaticvoidmain(String[] args) { System.out.println( “EnumTest.FRI 的 value = ”+ EnumTest.FRI.getValue()); } }

    输出结果:

    EnumTest.FRI 的 value = 5

    EnumSet,EnumMap 的应用

    /** * Java学习交流QQ群:589809992 我们一起学Java! */publicclassTest{publicstaticvoidmain(String[] args) { // EnumSet的使用EnumSet《EnumTest》 weekSet = EnumSet.allOf(EnumTest.class); for(EnumTest day : weekSet) { System.out.println(day); } // EnumMap的使用EnumMap《EnumTest, String》 weekMap = newEnumMap(EnumTest.class); weekMap.put(EnumTest.MON, “星期一”); weekMap.put(EnumTest.TUE, “星期二”); // 。。. 。。.for(Iterator《Entry《EnumTest, String》》 iter = weekMap.entrySet().iterator(); iter.hasNext();) { Entry《EnumTest, String》 entry = iter.next(); System.out.println(entry.getKey().name() + “:”+ entry.getValue()); } } }

    原理分析

    enum 的语法结构尽管和 class 的语法不一样,但是经过编译器编译之后产生的是一个class文件。该class文件经过反编译可以看到实际上是生成了一个类,该类继承了java.lang.Enum。EnumTest 经过反编译(javap com.hmw.test.EnumTest 命令)之后得到的内容如下:

    publicclasscom.hmw.test.EnumTestextendsjava.lang.Enum{publicstaticfinalcom.hmw.test.EnumTest MON; publicstaticfinalcom.hmw.test.EnumTest TUE;publicstaticfinalcom.hmw.test.EnumTest WED; publicstaticfinalcom.hmw.test.EnumTest THU; publicstaticfinalcom.hmw.test.EnumTest FRI;publicstaticfinalcom.hmw.test.EnumTest SAT; publicstaticfinalcom.hmw.test.EnumTest SUN; static{}; publicintgetValue(); publicbooleanisRest();publicstaticcom.hmw.test.EnumTest[] values(); publicstaticcom.hmw.test.EnumTestvalueOf(java.lang.String); com.hmw.test.EnumTest(java.lang.String, int, int, com.hmw.test.EnumTest); }

    所以,实际上 enum 就是一个 class,只不过 java 编译器帮我们做了语法的解析和编译而已。

    总结

    可以把 enum 看成是一个普通的 class,它们都可以定义一些属性和方法,不同之处是:enum 不能使用 extends 关键字继承其他类,因为 enum 已经继承了 java.lang.Enum(java是单一继承)。

    展开全文
  • c语言枚举类型enum用法及应用

    千次阅读 多人点赞 2021-07-14 10:36:26
    大家好,我是无际。 今天跟大家讲一下我在产品开发时,用枚举(enum)的一些骚操作。 我跟你保证,今天的内容绝对是你在书本和视频学不到的。 为什么要讲枚举呢?...因为我发现它是一个... 掌握枚举的几种用法 掌握枚

    大家好,我是无际。

    今天跟大家讲一下我在产品开发时,用枚举(enum)的一些骚操作。

    我跟你保证,今天的内容绝对是你在书本和视频学不到的。

    为什么要讲枚举呢?

    因为我发现它是一个容易被遗忘,同时又非常重要的关键词,大家如果看那些大佬写的程序,真的会发现有非常非常多enum的应用。

    让我惊奇的是市面上的一些C语言书籍以及视频课程并没有重视去讲enum。

    今天我们还是从理论到实际产品应用,教大家真正掌握enum。

    通过这篇内容你能掌握以下知识:

    1. 掌握枚举的相关概念
    2. 掌握枚举的几种用法
    3. 掌握枚举在实际产品中的应用

    这篇内容是无际单片机编程那个程序架构视频教程的讲课稿,我稍微做了些调整,如果想看视频的也可以找我们拿。

    一、枚举的概念

    我对枚举的理解是把一些固定的值一一列举出来分别起个名字,比如说给1取个名字叫Ture, 0取个名字叫False。

    Ture和false都是一种表示同一个类型的数据,比如说都是代表逻辑的对错。

    我们模拟51单片机的IE中断使能寄存器每个位的值来举一个例子。

    我们可以对照单片机寄存器芯片资料一下,当我们设置IE寄存器的值等于0x01的时候,代表开启外部中断0,设置成0x80的时候允许全部中断。

    这些枚举值都是针对寄存器IE的固定值,所以我们可以称这些值是同一个类型的数据,我们把他们重新命名一下,便于阅读和记忆,这就是枚举的重要作用之一。

    二、枚举的几种用法

    1.直接定义枚举值,然后给普通变量赋值。

    上面这个代码呢,定义了一个枚举类型,但是没有给枚举类型命名。

    像这种枚举呢就是没办法定义枚举变量的,但是呢,这样其实也是可以用的。

    我们通过定义一个普通变量,然后把枚举的值赋给他,一样也能输出正确的值,这种方法我个人经常偷懒地用。

    2.定义带名称的枚举

    这里定义了一个名字为WeekDay的枚举,那么我们就可以通过这个枚举类型定义一个名为day的枚举变量。

    三、定义枚举别名

    这个代码中通过typedef来定义枚举的别名为WeekDay,然后我们直接使用WeekDay day来定义一个enum变量,这种方法用的是最多的

    四、枚举有什么用,用在哪里?

    上面我们已经学习了枚举的一些定义方法,那么枚举到底在产品当中有什么用呢?

    枚举的作用:

    1.为固定的值命名,当作数组访问的下标,当固定的数据很多时,比如有几十上百个,那么如果你应0-100去表示就很难记住每个值代表什么意思。

    比如说之前做过汽车故障诊断的产品,需要读取Pid数据存储到数组里,而PID有将近100个。

    如果让你去记这100个每个代表哪个PID参数,估计你会崩溃。

    而我把每个PID参数通过枚举另起一个一看就知道是什么参数的名字,是不是就方便很多?

    因为每个PID都单独存储在数组的一个元素里,那我用这个名字作为下标能很快速地把指定PID参数从数组取出来。

    看上图用枚举和不用枚举读取的区别相信你就能理解了。

    2.可以作为一个变量,灵活分配数组大小。

    我们在定义数组的时候,直接用该枚举类型的最后一个值作为数组大小。

    下次要增加或者减少PID参数的时候就不用去改数组大小了,非常方便。

    3.枚举作为设置值

    上图是STM32的固件库代码,配置GPIO模式的枚举定义。

    我们可以看到,每一个枚举值都代表着一个模式,最后通过把这些值写入相应寄存器,最终完成GPIO的模式配置。

    这里就先说这么多,更多实战应用可以跟随无际单片机编程做项目去学习和提高。

    最后总结:

    不知道大家有没有发现,其实枚举配合结构体,C语言照样也能做面向对象的编程。

    面向对象是什么意思?就是一切皆对象,单片机GPIO是一个对象,定时器是一个对象,串口又是一个对象等等。

    每个对象都有自己独有的属性,比如说GPIO有输入和输出的模式,有输出的频率,有输出的引脚号,这些都是属于GPIO的属性。

    那我们可以通过枚举和结构体把这些属性封装起来,当做一个对象来处理。

    如果大家理解比较困难也没关系,这都是正常的。

    当你代码写到一定量的时候,慢慢就理解了。

    展开全文
  • 主要介绍了Java中的枚举类型enum使用,开始之前先讲解了枚举的用处,然后还举了枚举在操作数据库时的实例,需要的朋友可以参考下
  • Enum枚举类型Enum的全写是Enumeration,这个词的翻译是列举、逐条陈述、细目。在程序语言中,枚举类型是一种特殊的数据类型(常用的数据类型比如字符串、整型),这种数据类型的变量值限定在固定的范围, 比如季节只有...

    Enum枚举类型

    Enum的全写是Enumeration,这个词的翻译是列举、逐条陈述、细目。在程序语言中,枚举类型是一种特殊的数据类型(常用的数据类型比如字符串、整型),这种数据类型的变量值限定在固定的范围, 比如季节只有春夏秋冬,月份是12个。

    Java中的枚举

    枚举前时代

    在Java语言中, 枚举类型从JDK1.5才开始提供。在这之前使用接口静态常量来实现相关功能(也可以是类静态常量),以季节为例:

    在不使用枚举类之前,一般使用接口静态常量实现。比如:

    public interface Season {

    public static final int SPRING = 1;

    public static final int SUMMER = 2;

    public static final int AUTUMN = 3;

    public static final int WINTER = 4;

    }

    使用JUnit使用测试如下:

    @Test

    public void noEnum() {

    int i = 1;

    Assert.assertTrue(Season.SPRING==i);

    }

    使用接口静态常量的方式比较难限定变量的范围,而且定义繁琐,功能也很有限,于是在Java 1.5 中定义了一个枚举类型:java.lang.Enum。

    Java枚举的定义

    类似类(class)和接口(interface)的定义,Java提供enum关键字用来定义枚举类,在IDEA中创建枚举类的菜单如下:

    b514454ef5277536659676b0ec085089.png

    同样定义一个季节的枚举类, 代码可以简洁如下:

    package cn.osxm.jcodef.func.base;

    public enum SeasonEnum {

    SPRING, SUMMER, AUTUMN, WINTER

    }

    在枚举类中直接列出常量,常量遵循全部大写的规则。在上面的枚举类示例代码中,SPRING, SUMMER, AUTUMN, WINTER 是SeasonEnum的成员。

    枚举成员默认是final、public、static (所以可以使用SeasonEnum.SPRING方式调用枚举成员)

    每一个枚举类型成员都可以看作是枚举类的实例 (SeasonEnum.SPRING的类型也是SeasonEnum)

    在JUnit使用测试如下:

    @Test

    public void enumBase() {

    SeasonEnum season = SeasonEnum.SPRING;

    Assert.assertTrue(season.equals(SeasonEnum.SPRING));

    }

    Java 枚举类的特性

    Java枚举类的特性有:

    枚举可以实现接口,但不能继承接口,也不能被继承。

    枚举类是final的,所以不能继承。

    枚举类的构造方法是私有的

    枚举成员是静态、final和public

    枚举成员是枚举类的实例

    但是从上面SeasonEnum枚举类的定义来看,完全看不出这些特性,这些特性是怎么来的呢? 请看下面的原理探求。

    Java枚举类实现的原理探求

    Java枚举类型的奥秘就在编译阶段,枚举类在编译后会生成了一个扩展java.lang.Enum的类。这个可以通过JDK自带的javap工具来反编译生成的.class文件。对上面的生成的SeasonEnum.class文件进行反编译,因为这个文件的包路径是cn\osxm\jcodef\func\base,所以在命令行使用如下命令:

    javap -p cn\osxm\jcodef\func\base\SeasonEnum.class

    ·-p参数的意思是反编译代码中包含私有的方法, p是private的意思。

    c5e667d2c3089a5719d1ab5a487e1c7c.png

    从控制台输出的反编译后的源码可以看出:

    ·自定义的枚举类会自动继承java.lang.Enum类

    ·每个成员变量都会被转换为 private static final的枚举类型的实例

    ·自动添加private的构造函数 从反编译后的源码就不难理解Enum的特性了。

    注意: 使用专门的Java反编译工具,比如JD GUI、luyten等对Eumn进行反编译的效果接近源码的效果,无法看到继承等特性,JD-GUI反编译的效果和源码时一致的,这也说明使用JD GUI来进行实际的反编译还是不错的。

    猜你喜欢:

    展开全文
  • 枚举用来表示某类事情的结果;例1:下棋比赛的三种结果,赢,和,输;这里是描述比赛的结果。例2:一周7天中的俩种结果,工作日和非工作日。 2.用法 例1:enum game {win, lose, tie };(win, lose, tie分别表示胜,...
  • 实际开发中,我们离不开定义各种类型,当我们需要定义类型时,一般是通过一组整数来定义。比如:定义不同的月份JAN 1FEB 2MAR 3...NOV 11DEC 12复制代码大多数人想到以下几种定义的方法:1.直接使用定义变量的方法...
  • 本文主要介绍C语言中的enum枚举用法,感性趣的朋友可以参考下。
  • 主要介绍了C++枚举类型enum与enum class的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
  • 枚举类型enum用法 我是Java枚举的忠实拥护者。 似乎我们一直在等待获得它,但是当我们最终获得它( J2SE 5 )时,该枚举比C和C ++提供的枚举要好得多,在我看来,“值得等待” 。 与Java enum一样好,它也不是没有问题...
  • 枚举类型Enum用法

    2022-05-03 09:47:30
    枚举Enum的基本概念及用法
  • 枚举类型有名称、基础类型和一组字段。基础类型.“枚举窗口”、“枚举进程”之类的词中,枚举的意思就是遍历列举。这两个词也就是列举出所有的窗口,所有运行的进程的意思。 作为一种数据结构,枚举用一组标识符.一...
  • mysql中的枚举类型ENUM用法:

    千次阅读 2021-01-19 05:42:41
    mysql中的枚举类型ENUM用法:(2010-06-18 13:44:13)mysql中的枚举类型ENUM用法:mysql中的枚举类型ENUM是一个字符串对象,它的值是自表创建时在列规定中显式枚举的一列值。在某些情况下,ENUM值也可以为空字符串('...
  • java的Enum枚举类型终于在j2se1.5出现了。之前觉得它只不过是鸡肋而已,可有可无。毕竟这么多年来,没有它,大家不都过得很好吗?今日看 《Thinking in Java》4th edition,里面有一句话..."使用Enum枚举类型,可...
  • Java中由关键字enum来定义一个枚举类型。我们可以使用枚举来取代用public final static修饰的一批相关数据。如我们定义红绿灯的颜色:public final static int RED = 1;public final static int GREEN = 2;public ...
  • 枚举语句enum用法详解

    2012-03-11 22:05:17
    enum.docx ,详细介绍了enum用法枚举用法在c#中比较常见,希望会有帮助哦
  • 定义一个简单的枚举类型enumDays {Sat, Sun, Mon, Tue, Wed, Thu, Fri}; //这时候 Days.Sat = 0 ,后面依此递增。当然也可以手动指定起始值:enumDays {Sat=1, Sun, Mon, Tue, Wed, Thu, Fri}; //这样就从1开始了...
  • enum枚举类型用法

    千次阅读 2021-02-24 12:53:13
    使用枚举类型的变量,首先需要先定义一个枚举类型名,再声明该变量是该枚举类型的。 1. 枚举类型和枚举变量 1.1 枚举类型的定义和声明 之所以被称为枚举类型,就是因为命名常量是作为数据类型定义的一部分而枚举或...
  • 介绍的是java中的枚举类型,对于枚举类型的相关知识,我们也介绍过不少方面的内容。希望本文能够给你带来帮助,下面来一起看看,有需要的可以参考借鉴。
  • C语言枚举类型enum)的各种用法

    千次阅读 多人点赞 2021-06-06 20:57:26
    枚举enum就是英文enumerate的缩写,也就是列举、排列说明的意思。枚举类型是C语言中的一种特殊类型,枚举类型可以让我们的程序使用一些固定长度和固定数值的变量值范围。
  • Java 枚举enum用法

    千次阅读 2021-05-28 18:46:20
    使用 Java 枚举类型 enum 可以更贴近地表示这种常量。 文章目录前言一、ENUM二、enum的常用七种方法1.常量2.switch3.向枚举中添加新方法4.覆盖枚举的方法5.实现接口6.使用接口组织枚举7.关于枚举集合的使用总结 ...
  • Java枚举[enum]Java枚举(enum)七种常见的用法汇总如下:用法一:常量用法二:switch用法三:向枚举中添加新方法用法四:覆盖枚举方法用法五:实现接口用法六:使用接口组织枚举用法七:关于枚举集合的使用 Java枚举...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 130,697
精华内容 52,278
关键字:

枚举类型enum用法

友情链接: lcd_4bit.rar