enum

C语言入门-枚举

白昼怎懂夜的黑 提交于 2019-12-01 07:18:23
常量符号化 用符号而不是具体的数字来表示程序中的数字 一、 枚举 用枚举而不是定义独立的const int变量 枚举是一种用户定义的数据类型,它用关键字 enum 如以下语句来声明 enum 枚举类型名字 {名字0 ,、、、 , 名字n}; 枚举类型名字通常并不真的使用,要用的是在大括号里的名字,因为它们就是常量符号,他们的类型是int,值则依次从0到,如: enum colors {red , yellow , green}; 就创建了三个常量,red的值0,yellow是1,green是2 当需要一些可以排列起来的常量值时,定义枚举的意义就是给了这些常量值名字 #include <stdio.h> enum color {red , yellow , green}; void f(enum color c); int main(void) { enum color t = yellow; // scanf("%d" , &t); f(t); return 0; } void f(enum color c) { printf("%d\n", c); } // 1 // 因为yellow的下标是1 注意: 枚举量可以作为值 枚举类型可以跟上enum作为类型 但是实际上是以整数来做内部计算和外部输入输出的 二、自动计数的枚举

[TLSR8267] 泰凌微 telink tlsr8267 ble ADC 用法浅谈

a 夏天 提交于 2019-12-01 05:11:01
1、读 datasheet 在《DS_TLSR8267-E21_Datasheet for Telink BLE SoC TLSR8267.pdf》第11章详细介绍了ADC相关属性及参数。 条目 说明 ADC clock 参考电压选择AVDD时候不能低于5Mhz;参考电压选择1.224V或者1.428V的时候不能低于4MHz input range 1.428V,AVDD or 1.224V resolution 7, 9, 10, 11, 12, 13, 14bits sampling time 3, 6, 9, 12, 18, 24, 48 or 144 * ADC clock period input mode ADC supports two input modes and 12 input channels Enable auto mode and output 自动模式 2、看封装好驱动 在sdk/proj/mcu_spec/adc_8267.c中实现了8267 adc的封装,对外函数比较简单: (普通12个channels初始化) void adc_Init(enum ADCCLOCK adc_clk,enum ADCINPUTCH chn,enum ADCINPUTMODE mode,enum ADCRFV ref_vol, enum ADCRESOLUTION

小谈Java Enum的多态性

扶醉桌前 提交于 2019-12-01 04:35:51
Enum+多态,我没说错,不过Enum是不可以被继承的,也不可以继承自别人,只是能实现接口而已,何谈多态? 不过还是先看看“现象”吧: Java代码 public enum Fruit { APPLE, PEAR, PEACH, ORANGE; } 以上是一个简单的enum,关于它,我要补充一点: Fruit是java.lang.Enum的 子类 ,准确地说,是Enum<Fruit>的子类,这里出现了一个继承关系,不过这个继承是编译器帮我们做的,我们不能显式地去做。不信的话我们可以试着用一个Enum<Fruit>的引用去指向一个APPLE,肯定是没问题的,我就不再试了。 为了更直观地说明这一点,我们来看看Fruit的反编译结果吧: Java代码 package test; public final class Fruit extends Enum { private Fruit(String s, int i) { super(s, i); } public static Fruit[] values() { Fruit afruit[]; int i; Fruit afruit1[]; System.arraycopy(afruit = ENUM$VALUES, 0, afruit1 = new Fruit[i = afruit.length], 0, i); return

java enum的用法详解

烈酒焚心 提交于 2019-12-01 02:30:58
转载于:https://www.cnblogs.com/liaojie970/p/6474733.html java enum的用法详解 Java Enum原理 public enum Size{ SMALL, MEDIUM, LARGE, EXTRA_LARGE }; 实际上,这个声明定义的类型是一个类,它刚好有四个实例,在此尽量不要构造新对象。 因此,在比较两个枚举类型的值时,永远不需要调用equals方法,而直接使用"=="就可以了。(equals()方法也是直接使用==, 两者是一样的效果) Java Enum类型的语法结构尽管和java类的语法不一样,应该说差别比较大。但是经过编译器编译之后产生的是一个class文件。该class文件经过反编译可以看到实际上是生成了一个类,该类继承了java.lang.Enum<E>。 例如: public enum WeekDay { Mon("Monday"), Tue("Tuesday"), Wed("Wednesday"), Thu("Thursday"), Fri( "Friday"), Sat("Saturday"), Sun("Sunday"); private final String day; private WeekDay(String day) { this.day = day; } public static

java Enum 类型

眉间皱痕 提交于 2019-11-30 22:54:28
一、简介:   枚举是Java1.5引入的新特性,通过关键字enum来定义枚举类。枚举类是一种特殊类,它和普通类一样可以使用构造器、定义成员变量和方法,也能实现一个或多个接口,但枚举类不能继承其他类. 定义枚举类的关键字是enum,而不是Enum,所有关键字都是小写的! 二、Enum 类型的特点 在某些情况下,一个类的对象时有限且固定的,如季节类,它只有春夏秋冬4个对象这种实例有限且固定的类,在 Java 中被称为枚举类; 在 Java 中使用 enum 关键字来定义枚举类,其地位与 class、interface 相同; 枚举类是一种特殊的类,它和普通的类一样,有自己的成员变量、成员方法、构造器 (只能使用 private 访问修饰符,所以无法从外部调用构造器,构造器只在构造枚举值时被调用); 一个 Java 源文件中最多只能有一个 public 类型的枚举类,且该 Java 源文件的名字也必须和该枚举类的类名相同,这点和类是相同的;    使用 enum 定义的枚举类默认继承了 java.lang.Enum 类,并实现了 java.lang.Seriablizable 和 java.lang.Comparable 两个接口; 所有的枚举值都是 public static final 的,且非抽象的枚举类不能再派生子类; 枚举类的所有实例(枚举值)必须在枚举类的第一行显式地列出

c# 枚举(Enum)

a 夏天 提交于 2019-11-30 20:53:19
枚举是一组命名整型常量。枚举类型是使用 enum 关键字声明的。 C# 枚举是值类型。换句话说,枚举包含自己的值,且不能继承或传递继承。 声明 enum 变量 声明枚举的一般语法: enum <enum_name> { enumeration list }; 其中, enum_name 指定枚举的类型名称。 enumeration list 是一个用逗号分隔的标识符列表。 枚举列表中的每个符号代表一个整数值,一个比它前面的符号大的整数值。默认情况下,第一个枚举符号的值是 0.例如: enum Days { Sun, Mon, tue, Wed, thu, Fri, Sat }; 实例 下面的实例演示了枚举变量的用法: 实例 using System; public class EnumTest { enum Day { Sun, Mon, Tue, Wed, Thu, Fri, Sat }; static void Main() { int x = (int)Day.Sun; int y = (int)Day.Fri; Console.WriteLine("Sun = {0}", x); Console.WriteLine("Fri = {0}", y); } } 当上面的代码被编译和执行时,它会产生下列结果: Sun = 0 Fri = 5 一个枚举的关联值或隐式地

enum一个最不像class的class

那年仲夏 提交于 2019-11-30 13:23:17
java枚举类型是jdk5出现的.它的出现主要为了解决一些有特殊意义,已经确定的,长度不会改变的集合. 下面代码,创建一个月份的描述类,并且给出确定的12个月份. //月份描述 public class Month { //月份名称 private final String name; //月份天数 private final int days; //构造子,给出一个月份名称,默认天数31天 private Month(String name) { this(name, 31); } //构造子,给出月份名称,月份天数 private Month(String name, int days) { this.name = name; this.days = days; } /* * 创建12个月份 * */ public static final Month JAN = new Month("January"); public static final Month FEB = new Month("February", 28); public static final Month MAR = new Month("March"); public static final Month APR = new Month("April", 30); public static final

meterpreter学习笔记

℡╲_俬逩灬. 提交于 2019-11-30 12:57:48
0x01 系统命令 基本系统命令 1 background # 将当前会话放置后台 2 sessions # sessions –h 查看帮助 3 sessions -i <ID值> #进入会话 -k 杀死会话 4 bgrun / run # 执行已有的模块,输入run后按两下tab,列出已有的脚本 5 info # 查看已有模块信息 6 getuid # 查看当前用户身份 7 getprivs # 查看当前用户具备的权限 8 getpid # 获取当前进程ID(PID) 9 sysinfo # 查看目标机系统信息 10 irb # 开启ruby终端 11 ps # 查看正在运行的进程 12 kill <PID值> # 杀死指定PID进程 13 idletime # 查看目标机闲置时间 14 reboot / shutdown # 重启/关机 15 shell # 进入目标机cmd shell 常用cmd命令 1 whoami # 当前权限 2 quser # 查询当前在线的管理员 3 net user # 查看存在用户 4 net user 用户名 密码 /add # 添加用户和对应密码 5 net localgroup 用户组名 用户名 /add # 将指定用户添加到指定用户组 6 netstat -ano # 查询当前计算机中网络连接通信情况

枚举类enum

浪尽此生 提交于 2019-11-30 07:38:30
1. 特点   (1)enum 与 class、interface 具有相同地位,使用 enum 定义,默认使用 final 修饰,因此不能派生子类;   (2)默认继承 java.lang.Enum 类,所以不能继承其他父类;其中 java.lang.Enum 类实现了 java.lang.Serializable 和 java.lang.Comparable 接口;可以实现一个或多个接口;   (3)可以拥有构造器、成员方法、成员变量,构造器默认使用 private 修饰,且只能使用 private 修饰,成员变量默认使用public static final 修饰;   (4)枚举类所有实例必须在第一行给出,否则无法产生实例;多个枚举变量直接用逗号隔开,最后一个用分号;枚举变量最好大写,多个单词之间使用”_”隔开(比如:INT_SUM);在其他类中使用enum变量的时候,只需要【类名.变量名】就可以了,和使用静态变量一样。 2. 枚举变量的方法   (1)Weekday.valueOf() 方法: 它的作用是传来一个字符串,然后将它转变为对应的枚举变量。前提是你传的字符串和定义枚举变量的字符串一抹一样,区分大小写。如果你传了一个不存在的字符串,那么会抛出异常。   (2)Weekday.values()方法。 这个方法会返回包括所有枚举变量的数组。在该例中

java 枚举(enum) 全面解读

放肆的年华 提交于 2019-11-30 06:19:53
简介 枚举是Java1.5引入的新特性,通过关键字enum来定义枚举类。枚举类是一种特殊类,它和普通类一样可以使用构造器、定义成员变量和方法,也能实现一个或多个接口,但枚举类不能继承其他类. 原理分析 枚举类型使用的最常用类型就是枚举常量.下面通过一个简单的Demo来说明枚举的原理. // 定义 public enum Color { BLACK, WHITE } // 使用 public class Main { public static void main(String[] args) { System.out.println(Color.BLACK); } } // 结果 // BLACK 这样只是能够知道枚举简单的使用方法,不能看出枚举的特点和枚举的具体实现. 下面我们通过 jad 工具来反编译 Color 类, 通过 jad -sjava Color.class 反编译出一份java文件. // final修饰,无法被继承 public final class Color extends Enum { // 为了避免 返回的数组修改,而引起内部values值的改变,返回的是原数组的副本 public static Color[] values() { return (Color[]) $VALUES.clone(); } // 按名字获取枚举实例 public