enum枚举类型的用法?

256 2024-03-12 21:08

一、enum枚举类型的用法?

1 enum枚举类型是一种自定义数据类型,用于定义一组取值范围固定的常量。2 通过使用枚举类型,可以有效地增加代码的可读性和可维护性,因为它保证了枚举中的取值范围是固定的,不会随意更改。3 在使用枚举类型时,需要先定义枚举类型本身,然后在程序中使用该类型定义枚举常量。枚举常量可以有相同的值,但是必须具有唯一的名称,以便在程序中进行引用。使用枚举常量时,可以通过“枚举类型.常量”或“常量”两种方式进行访问。延伸:在 C++ 中,枚举类型中的常量默认从0开始自动编号,也可以手动指定编号值,同时还可以设置默认值和范围等,以满足不同的功能需求。

二、枚举类型是单例吗?

枚举被设计成是单例模式,即枚举类型会由jvm在加载的时候,实例化枚举对象,你在枚举类中定义了多少个就会实例化多少个, jvm为了保证每一个枚举类元素的唯一实例,是不会允许外部进行的。

三、mysql金额用什么类型?

“数字类”,就是指 DECIMAL 和 NUMERIC,它们是同一种类型。它严格的说不是一种数字类型,因为他们实际上是将数字以字符串形式保存的;他的值的每一位 (包括小数点) 占一个字节的存储空间,因此这种类型耗费空间比较大。

但是它的一个突出的优点是小数的位数固定,在运算中不会“失真”,所以比较适合用于“价格”、“金额”这样对精度要求不高但准确度要求非常高的字段。

四、mysql中浮点类型怎么用?

* MySQL支持的浮点类型中有单精度类型(float), 双精度类型(double),和高精度类型(decimal),在数字货币类型中推荐使用高精度类型(decimal)来进行应用.

* MySQL浮点型和定点型可以用类型名称后加(M,D)来表示,M表示该值的总共长度,D表示小数点后面的长度,M和D又称为精度和标度,如float(7,4)的可显示为-999.9999,MySQL保存值时进行四舍五入,如果插入999.00009,则结果为999.0001。FLOAT和DOUBLE在不指定精度时,默认会按照实际的精度来显示,而DECIMAL在不指定精度时,默认整数为10,小数为0。

五、mysql中学历用什么类型?

答案是可以用数字类型和字符类型来标识。

数字类型就是存放在数据库中的是数字,然后给每个数字赋予一定的表示意义,比如1代表本科,2代表研究生,3代表博士生;

另外也可以用字符类型来标识,给每个字符赋予学历意义,a表示本科,b表示研究生,c表示博士。

以上两种方式都可以,也可以直接将汉字文字存放在数据库中,但是通常都不提倡这种方式。

六、c语言指针可以指向枚举类型吗?

C语言指针用法灵活,基本类型指针,

通用指针 void *

指针数组和数组指针

函数指针和指针函数

结构指针和联合指针

枚举指针

指针常量和常量指针

指针的指针

基本类型指针

指向整型和浮点型的指针。包括char,int,float,double类型指针

通用指针

void * 声明一个通用指针,该指针可以和除函数指针类型之外指针类型相互转换。

例如:

void *p;

int *ip;

p = ip;

ip = p;

指针数组和数组指针

指针数组:指针数组的每个元素都是指针类型。

例如:

// ip是数组类型,数组中每个元素是int型指针。

int *ip[];

// fp是数组类型,数组中每个元素是float型指针。

float *fp[];

数组指针:指针类型,指向数组。

例如:

int a[100] ; // 声明和定义数组a

int *pa = a; // 声明指针pa,并且将数组a的首地址赋值给pa

int a1 = *(pa+1); // 获取数组a第2个元素的值,即a[1]的值

注:数组名本身就是当做地址常量赋值给指针,不需要 & 地址运算符。

函数指针和指针函数

函数指针指向特定函数类型的指针。

例如:

// fp是指针,指向 返回值为int型,有1个int型参数的一类函数

int (fp)(int);// fp是指针,指向 返回值为double型,有2个double型参数的一类函数double (fp)(double,double);

// fp是指针,指向 返回值为int型指针,有1个int型参数的一类函数

int (fp)(int);

注:指针函数是指返回值为指针类型的函数,本质上是函数类型;函数指针是指向函数类型的指针,本质上指针类型。

结构指针和联合指针

指向结构类型、联合类型的指针。

例如:

struct

枚举指针

指向枚举类型的指针。

例如:

enum

指针常量和常量指针

指针常量:指向常量的指针,指针本身是变量。

例如:

const int p = 1; // 定义常量p

const int *ptr = &p; // ptr是指针,指向const int *常量int型

int i = 2;

p = i; // 此时出错,不能给常量赋值

ptr = &i; // 正确,ptr是指针变量,可以赋值

常量指针:指向变量的指针,指针本身是常量。

例如:

int p = 1; // 定义变量p

int const ptr = &p; // ptr是指针常量,指向变量int型

int i = 2;

p = i; // 正确,p是变量

ptr = &i; // 错误,ptr是常量指针

指针的指针

C语言支持多重指针,即指向指针的指针。

例如:以下都可以输出变量i的值。

#include

输出结果:

10

七、mysql存储金额用什么类型?

Decimal:Decimal为专门为财务相关问题设计的数据类型。

DECIMAL从MySQL 5.1引入,列的声明语法是DECIMAL(M,D)。

在MySQL 5.1中,参量的取值范围如下:M是数字的最大数(精度)。其范围为1~65(在较旧的MySQL版本中,允许的范围是1~254),M 的默认 值是10。

D是小数点右侧数字的数目(标度)。其范围是0~30,但不得超过M。说明:float占4个字节,double占8个字节,decimail(M,D)占M+2个字节。

八、mysql小数类型建表怎么用?

mysql小数类型建表使用步骤如下:

1.级别:[强制] 表达是与否概念的字段,必须使用is_*** 的方式命名,数据类型是 unsigned tinyint ( 1表示是 , 0 表示否)

说明:任何字段如果为非负数,必须是 unsigned.

正例:表达逻辑删除的字段名 is_deleted ,1 表示删除,0 表示未删除。

2.级别:[强制] 表名、字段名必须使用小写字母或数字 , 禁止出现数字开头,禁止两个下划线中间只出现数字。数据库字段名的修改代价很大,因为无法进行预发布,所以字段名称要慎重考虑。

说明:mysql 在 windows 下不区分大小写,但在linux 下默认是区分大小写。因此,数据库名,表名,字段名,都不允许出现大写字母。

正例: qy_admin ,pay_config, leve3_name

反例:qyAdmin,payConfig,leve_3_name

3.级别:[强制] 表名不使用复数名词。

说明:mysql中表名应该仅仅表示表里的实体内容,不应该表示实体数据,对应于DO类名也是单数形式,符合表达习惯。

4.级别:[强制] 禁用保留字,如 desc ,range ,match,delayed 等。参考mysql 官方保留字。

5.级别:[强制] 主键索引名为 pk_ 字段名;唯一索引名为 uk_字段名;普通索引名则为 idx_字段名。

说明:pk_ 即为 primary key ; uk_ 即 unique key; idx_ 即 index 的简称。

6.级别:[强制] 小数类型为 decimal,禁止使用 float 和 double。

说明:mysql 的 float ,double 在存储的时候,存在精度损失的问题,很可能在值的比较时,得到不正确的结果。如果存储的数据范围超过decimal 的范围,建议将数据拆成整数和小数分开存储。

7.级别:[强制] 如果存储的字符串长度几乎相等,使用 char 定长字符串类型。

8.级别:[强制] vaarchar 是可变长字符吕,不预先分配存储空间,长度不要超过5000,如果存储长度大于此值,定义字段类型为 text ,独立出来一张表,用主键来以应,避免影响其它字段索引效率。

9.级别:[强制] 表必备三个字段:id, create_time,updated_time。

说明:id必为主键,类型为 unsigned bigint, 支持的数字大小为19位。单表时自增,步长为1. create_time, updated_time 类型为timestamp 主动创建,另一个是表示被动更新。

10.级别:[推荐] 表的命名最好是加上 "业务名称_表的作用"。

说明:这样能清楚的知道每个表的作用。

正例: user_task ,pay_config, force_extra

11.级别:[推荐] 库名与应用名称尽量一致。

12.级别:[推荐] 如果修改字段含义或对字段表示的状态追加时,需要及时更新字段注释。

13.级别:[推荐] 字段允许适当冗余,以提高查询性能,但必须考虑数据一致,冗余字段应遵循:

1)不是频繁修改的字段。

2)不是varchar 超长字段,更不能是 text 字段。

正例: 商品类目名称使用频率高,字段长度短,名称基本一成不变,可在相关联的表中冗余存储类目名称,避免关联查询。

14.级别:[推荐] 单表行数超过500万行或者单表容量超过2GB,才推荐进行分库分表。

说明:mysql 如果预计三年后的数据量根本达不到这个级别,请不要在创建表时就分库分表。

15.级别[参考] 合适的字符存储长度,不但节约数据库表空间,节约索引存储,更重要的是提升检索速度。。

九、如何判断枚举类型的值是否相等?

==:如果是引用数据类型,那么就是判断两个对象在内存中的地址是否相等;如果是基本数据类型,那就是判断两个值是否相等 equals:判断两个对面的值字符串是否相等 对面枚举来说,使用equals和==是一样的

十、mysql定义变量的类型?

        MySQL通过变量来定义当前服务器的特性,保存状态信息等。我们可以通过手动更改变量的值来配置MySQL,也可以通过变量获得MySQL的当前状态信息。MySQL的变量类型可以从变量的修改方式和变量的生效范围划分。

      1.根据变量修改的方式:

动态变量:可以在MySQL运行时调整其指,并立即生效;

静态变量:需要在配置文件中修改,重启服务后生效;

        2.根据变量的生效范围:

全局变量:服务级别的设定,对整个服务生效;

会话变量:仅对当前会话生效,其他会话和新会话不受影响;会话结束值即销毁;

顶一下
(0)
0%
踩一下
(0)
0%
相关评论
我要评论
点击我更换图片