定义枚举类型的时候,定义了枚举常量列表,例如:

enum test
{
, b, c
};

       此时,枚举常量列表的值有如下的规则:

(1) 常量列表中,第一个常量的值默认为0;

(2) 从第二个常量开始,它的值是前一个常量的值增加1;

       所以,对于上面的例子,常量a的值默认为0,常量b的值是常量a的值增加1,所以为1;常量c的值是常量b的值增加1,所以为2。

注意:我们可以在定义常量列表的时候,给常量设置数值。程序测试例子如下:

java 给枚举值第一个赋值 给枚举类型赋值_java 给枚举值第一个赋值

       程序运行结果如下:

java 给枚举值第一个赋值 给枚举类型赋值_枚举类型_02

       可以看到,我们定义了枚举类型如下:

enum test
{
    a = 5, b, c, e = 18, f
};

其中,给枚举常量列表中的常量设置了数值,例如 a = 5,就是给常量a设置了5这个数值。

那么,常量b是前一个常量a的值增加1,所以,常量b的值是6;同理,常量c的值是前一个常量b的值增加1,所以,常量c为7。

       而且,我们又可以随时给某个常量设置数值,所以,给常量e设置了数值。那么,我们给常量e设置了18数值,所以,常量e的值不是其前一个常量c数值增加1,而是我们手动设置的数值18。同时,常量f没有手动设置数值,所以,它的值是常量e的数值增加1,所以,常量f的值为19。

所以,我们可以总结:

(1) 可以给枚举常量列表中的常量设置一个数值;

(2) 如果没有给枚举常量设置数值,那么,它的值是前一个枚举常量值增加1。如果第一个枚举常量没有设置数值,那么,它默认数值为0值。

       在定义枚举类型的时候,可以给枚举常量设置“负值”数据,例如:

enum test
{
 = -3, b, c, e = 18, f
};

       此时,给常量a设置-3这个数值,那么,常量b是常量a的值增加1,所以,常量b的值为-2,同理,常量c的值是常量b的值增加1,所以,常量c的值为-1。

韦凯峰