枚举类型

c\\c++复习基础要点16----枚举类型

只谈情不闲聊 提交于 2019-12-27 01:21:24
枚举类型: 语法格式: enum 枚举类型名 {变量值列表}; 例如: enum Weekday{sun, mon, tue, wed, thu, fri, set}; 声明了枚举类型后,就可以定义枚举类型的变量了。定义枚举变量的语法格式为: enum 枚举类型名 标示符; 或 枚举类型名 标示符; 例如: enum Weekday aday; 也可以把声明枚举类型和定义枚举类型变量合为一步: enum{变量列表} 标示符; 例如: enum {sun, mon, tue, wed, thu, fri, set} aday; 变量aday的值只能是sun到sat之一 声明枚举类型时,变量值列表中的标示符是一些符号常量,每一个都对应一个确定的整数值。第一个符号常量的值为0,第二为1,以此类推。 也可以在声明枚举类型时自行制定符号常量的值,制定的值必须是整数。 例如: enum Weekday{sun, mon , tue=5, wed, fri,sat}; 其中,sun=0、mon=1、tue=5、wed=6、….sat=9. 不能把一个整数值直接赋值给一个枚举类型的变量: aday=2; //错误 但是可以通过强制类型转换将整数赋值给枚举类型的变量。 例如: aday=(Weekday)2; 实例: #include<iostream> using namespace std;

较复杂的枚举类型

六眼飞鱼酱① 提交于 2019-12-27 01:20:03
1 package dataStyle; 2 /** 3 * 较复杂的枚举类型 4 * @author ZolRa 5 * 6 */ 7 public class ComEnum { 8 9 public static void main(String[] args) { 10 WeekDay weekDay = WeekDay.FRI; 11 System.out.println(weekDay.nextDay()); 12 } 13 14 public enum WeekDay{ 15 // 调用带参构造方法,匿名子类重写nextDay()方法 16 SUN( 1 ){ 17 public WeekDay nextDay() { 18 return MON; 19 } 20 }, 21 MON( 2 ){ 22 public WeekDay nextDay() { 23 return TUE; 24 } 25 }, 26 TUE( 3 ){ 27 public WeekDay nextDay() { 28 return WED; 29 } 30 }, 31 WED( 4 ){ 32 public WeekDay nextDay() { 33 return THU; 34 } 35 }, 36 THU( 5 ){ 37 public WeekDay nextDay() { 38

Java中枚举的使用

空扰寡人 提交于 2019-12-27 01:19:07
常量与枚举 一、常量定义方法 常量是其值固定不变的量,一般可以分为字面常量和命名常量,如数字1,2,1.3,字符串“abc”,这些就是字面常量,而命名常量是我们使用一些有意义的名称来代表字面常量值,通常命名常量有助于我们更好地理解程序的逻辑。 在Java中,我们通常使用public static final ... 方式来定义常量,如: public static final int MAX_VALUE = 1000; 在JDK1.5之前,我们如果需要表示一组相关的常量,可以使用如下方法完成: 01./** 02. * 星期 03. * @author 04. * 05. */ 06.public class WeekDay { 07. public static final int MONDAY = 1; // 星期一 08. public static final int TUESDAY = 2; // 星期二 09. public static final int WEDNESDAY = 3; // 星期三 10. public static final int THURSDAY = 4; // 星期四 11. public static final int FRIDAY = 5; // 星期五 12. public static final int SATURDAY = 6

二十三、枚举

◇◆丶佛笑我妖孽 提交于 2019-12-27 00:35:34
很多的编程语言里面实际上都存在有枚举的概念,但是Java一直到JDK1.5之后才可以正式推出枚举这一概念,在这之前枚举的概念只能够通过多例设计模式来描述。 了解单例和多例点这里 一、枚举的基本定义 在JDK1.5之后提供有一个enum的关键字,该关键字的主要作用就是实现枚举类的定义,同时在进行枚举类定义的时候一定要遵循一些多例设计模式原则(构造方法私有、内部要提供有若干个对象常量) **例:**定义枚举 enum Color { //颜色基色的枚举 RED, GREEN, BLUE; //多例设计中的对象是常量必须大写 } public class TestEnum { public static void main(String[] args) { Color red = Color.RED; //直接获取枚举对象 System.out.println(red); } } 程序执行结果: RED (默认获取的就是枚举名称) 使用enum定义的枚举类可以方便的通过valuesO静态方法获取全部的枚举定义内容。 例 :使用values()获取全部枚举信息 enum Color { //颜色基色的枚举 RED, GREEN, BLUE; //多例设计中的对象是常量必须大写 } public class TestEnum { public static void main(String[

单例模式看着一篇就够了,破解谣言版!!!

放肆的年华 提交于 2019-12-26 22:36:26
大家好,今天给大家介绍一下单例模式。本文是从实际应用开发,结合网络上多篇技术博客,总结其精华、完善其缺陷和优化案例说明角度向大家展示什么叫做单例模式,如何创建单例及其优缺点和什么时候用单例。原创不易,点赞关注支持一下! 什么叫单例模式? 单例模式是设计模式中最简单的形式之一。这一模式的目的是使得类的一个对象成为系统中的唯一实例。 看起来很晦涩,白话一点说就是要具备某各类 只能有一个实例 、它必须自行创建这个实例和必须自行向整个系统提供这个实例。 如何创建实例? 单例的创建大致分为懒汉模式、饿汉模式、静态内部类、双重加锁等等。我们着重介绍和推荐使用的是双检锁模式,其他模式请自行百度 :-),话不多说直接上代码。 public class SingletonEntity { private volatile static SingletonEntity singtonEntity = null; private SingletonEntity(){ } public void test(String context){ System.out.println(context); } public static SingletonEntity getInstance(){ if (singtonEntity == null){ synchronized (SingletonEntity

【C语言】枚举

大憨熊 提交于 2019-12-26 09:49:19
文章目录 1、#define定义一星期7天 2、枚举定义一星期7天 3、改变枚举元素的值 4、定义枚举变量 4.1、先定义枚举类型,再定义枚举变量 4.2、定义枚举类型的同时定义枚举变量 4.3、省略枚举名称,直接定义枚举变量 4.3、用typedef定义 5、用枚举实现bool类型 1、#define定义一星期7天 用 #define 来为每个整数定义一个别名 # define MON 1 # define TUE 2 # define WED 3 # define THU 4 # define FRI 5 # define SAT 6 # define SUN 7 2、枚举定义一星期7天 第一个枚举成员的默认值为整型的 0,后续枚举成员的值在前一个成员上加 1。 下面实例中把第一个枚举成员的值定义为 1,第二个就为 2,以此类推。 enum DAY { MON = 1 , TUE , WED , THU , FRI , SAT , SUN } ; 3、改变枚举元素的值 spring 的值为 0 summer 的值为 3 autumn 的值为 4 winter 的值为 5 enum season { spring , summer = 3 , autumn , winter } ; 4、定义枚举变量 4.1、先定义枚举类型,再定义枚举变量 enum Bool { false ,

Enum(枚举类)

邮差的信 提交于 2019-12-26 01:29:51
有的人说,不推荐使用枚举。有的人说,枚举很好用。究竟怎么使用,如何使用,仁者见仁智者见智。总之,先学会再说~ 为什么要引入枚举类 一个小案例 你写了一个小程序,不过好久不用了,突然有一天,你想使用一下它。程序要想正确运行,需要将今天星期几存到数据库里。这个时候,你开始犯难了。 当初的你还很年轻,不懂程序界的险恶,设计这个程序的时候,傻不拉几把这个字段设计为int类型的,用0代表周日,1代表周一。。。6代表周六,添加的时候就setWeekday(0)。但是这么长时间没用了,你忘记自己是从周一开始计算还是周日开始计算了,换句话说,你想不起来0代表的是周一还是周日了! 于是你各种翻代码,看数据库的字段,数据库保存的信息,终于搞懂了,你很开心,用了一次之后,觉得这个程序没意思,又不用了。 很久之后,你心血来潮,又想用一次它,很不幸,你又忘记到底0代表周一还是周日了,一番查找之后。你决定重构代码,因为你受不了了!! 静态变量来帮忙 经过一番思考,你决定使用七个静态变量来代表星期几,以后只要引用和静态变量就可以了,而不用自己输入012….你这么写: public class Weekday { public final static int SUN = 0 ; public final static int MON = 1 ; public final static int TUE = 2 ;

C#学习笔记_12_枚举&结构体

做~自己de王妃 提交于 2019-12-23 15:53:38
12_枚举&结构体 枚举 是一种数据类型 适用于某些取值范围有限的数据 语法: [访问权限修饰符] enum 枚举名 { 枚举值 } 枚举名遵循大驼峰命名法 枚举一般情况下是和switch case结合使用的 注意: 1、虽然枚举中的元素的值可以相同,但是强烈不推荐这样使用 2、枚举元素默认的值类型是int型,可以修改为其他的 整型 结构体 结构体和类基本一样 相同点: 都包含字段、属性、方法 修饰的访问权限 都是通过关键字new来实例化对象 区别点: 结构体对象是在栈上开辟的空间 类对象在堆上开辟空间 结构体是值类型,不是引用类型 构造方法 结构体中不允许写无参构造方法 结构体的有参构造方法中必须要给所有的字段进行赋值 结构体中始终包含一个public权限的无参构造方法 结构体中不允许写析构方法 结构体只有一个父类叫Object,结构体不能被其他结构体或类继承,也不能继承自其他结构体和类 语法: [访问权限修饰符] struct 结构体名字 {} 来源: https://www.cnblogs.com/chriswong/p/10363178.html

【C#本质论 九】值类型---结构之力

牧云@^-^@ 提交于 2019-12-22 14:36:49
研一的时候学习C#,发现和自己学的Java不一样,为啥,C#里还有结构体这个东西,这个东西不多余么?今天学习了下结构体,发现,这东西确实挺多余的,没啥用, 但是通过对结构体的学习,可以让我更好的理解值类型 ,C# 中的简单类型,如 int、double、bool等都是结构类型 。如果需要的话, 甚至可以使用结构类型结合运算符运算重载,再为 C# 语言创建出一种新的值类型来 。 在进入正题前,先来简单复习下值类型和引用类型: 值类型要求直接创建内存拷贝, 变量直接包含数据,两个变量不可能引用同一内存位置 (ref和out只不过是给变量起了一个别名,实际上传递的还是该变量的地址。一个指向栈里的地址) 引用类型在栈里传递的是引用个,是指向堆里的地址。 栈复制的好处是垃圾回收的清理代价低,但是却需要频繁的拷贝,对性能造成影响 ,如果拷贝值类型的代价比拷贝引用高出四倍,就应该把它考虑设计成引用类型了。 结构 除了string和object是引用类型,其它所有C#内建类型都是值类型。开发者甚至可以通过struct自己定义值类型。 struct Angle { public Angle ( int degrees , int minutes , int seconds ) { Degrees = degrees ; Minutes = minutes ; Seconds = seconds ;

Swift 基本语法1

跟風遠走 提交于 2019-12-22 14:07:13
一、Swift简介 2010年的夏天,苹果公司的开发人员Chris Lattne接到了一个特别的任务,为OS X 和iOS平台开发下一代的编程语言,也就是Swift。 苹果公司于2014年WWDC(苹果开发者大会)发布的新开发语言Swift,可与Objective-C共同运行于Mac OS和iOS平台,用于搭建基于苹果平台的应用程序。 2015年的WWDC开发者大会上,苹果公司推出了Swift2.0版本,并且Swfit完全开源。 自从Swift发布以来,在http://www.tiobe.com中的排行一直处于上升的状态。 二、声明变量和常量 在Swift中使用“let”修饰一个常量,使用“var”修饰一个变量; let修饰常量的值是不可以更改的; var修饰的变量的值是可以更改的; 在声明常量和变量的时候可以使用表情符号、中文等命名常量名和变量名。 Swift里不会自动给常量变量赋初始值,也就是说常量变量不会有默认值,所以定义常量的时候一定要给定初始值 Swift定义变量或者常量的时候,需要标识出变量或者常量的类型,如果不标识,会根据初始值自动推断。 因为swift是强类型语言,所以不同类型的变量不能相加,如果想要相加,可以强制类型转换 1、声明常量变量 1 // MARK: - 定义常量变量:变量类型的隐式转换 2 3 // 在Swift中如果不给定变量常量的类型