基本类型、数组和枚举类型.ppt
CCUTSOFTJAVA程序设计程序设计第第2章章 基本类型、数组和枚举类型基本类型、数组和枚举类型2.1 标识符和关键字标识符和关键字1.1.标识符标识符标识符标识符 Java Java 标识符命名规范:标识符命名规范:标识符命名规范:标识符命名规范:由字母、数字、由字母、数字、由字母、数字、由字母、数字、_ _和和和和$组成组成组成组成;标识符的第一个字符不能是数字标识符的第一个字符不能是数字标识符的第一个字符不能是数字标识符的第一个字符不能是数字;标识符区分大小写标识符区分大小写标识符区分大小写标识符区分大小写;长度不限,但通常不超过长度不限,但通常不超过长度不限,但通常不超过长度不限,但通常不超过1515个字符个字符个字符个字符;不能取名为不能取名为不能取名为不能取名为JavaJava关键字关键字关键字关键字;不能夹有空格。不能夹有空格。不能夹有空格。不能夹有空格。标识符用来命名变量、符号常量、数组、方法、类、标识符用来命名变量、符号常量、数组、方法、类、标识符用来命名变量、符号常量、数组、方法、类、标识符用来命名变量、符号常量、数组、方法、类、对象、接口、包等。为了提高程序的可读性,标识符最好对象、接口、包等。为了提高程序的可读性,标识符最好对象、接口、包等。为了提高程序的可读性,标识符最好对象、接口、包等。为了提高程序的可读性,标识符最好“见名知义见名知义见名知义见名知义”,而且规范大小写的使用方式。,而且规范大小写的使用方式。,而且规范大小写的使用方式。,而且规范大小写的使用方式。CCUTSOFTJAVA程序设计程序设计例如:例如:合法的标识符合法的标识符 identifier userName User_Name _sys_val$change非法的标识符非法的标识符 2mail room#class Java语言使用语言使用Unicode标准字符集,标准字符集,Unicode标准字符集由标准字符集由UNICODE协会管协会管理并接受其技术上的修改,最多可以识理并接受其技术上的修改,最多可以识别别65536个字符,个字符,所以字母包括下面几种:所以字母包括下面几种:A-Z,a-z09汉字、日文、朝鲜文、德文、希腊文等汉字、日文、朝鲜文、德文、希腊文等多国语言中的符号多国语言中的符号 CCUTSOFTJAVA程序设计程序设计2.关键字关键字 关键字又称保留字,是关键字又称保留字,是 Java 语言规定了语言规定了特定含义的标识符。特定含义的标识符。用户只能按照系统规定的方式使用;用户只能按照系统规定的方式使用;不能自行定义;不能自行定义;关键字一律关键字一律用小写字母用小写字母表示。表示。CCUTSOFTJAVA程序设计程序设计保留关键字:保留关键字:保留关键字:保留关键字:abstractabstractbooleanbooleanbreakbreakbytebytecasecasecatchcatchcharcharclassclasscontinuecontinuedefaultdefaultdododoubledoubleelseelseextendsextendsfalsefalsefinalfinalfinallyfinallyfloatfloatforforif ifimplementsimplementsimportimportinstanceofinstanceofintintinterfaceinterfacelonglongnativenativenewnewnullnullpackagepackageprivateprivateprotectedprotectedpublicpublicreturnreturnshortshortstaticstaticstrictfpstrictfpsupersuperswitchswitchsynchronizesynchronized dthisthisthrowthrowthrowsthrowstransienttransienttruetruetrytryvoidvoidvolatilevolatilewhilewhileCCUTSOFTJAVA程序设计程序设计2.2 Java语言的语言的基本数据基本数据类类型型 说说明明数据数据类类型型占内存空占内存空间间(位数)(位数)字字节节型型bytebyte1 1字字节节(8 8位)位)短整型短整型shortshort2 2字字节节(1616位)位)整型整型intint4 4字字节节(3232位)位)长长整型整型longlong8 8字字节节(6464位)位)单单精度浮点型精度浮点型floatfloat4 4字字节节(3232位)位)双精度浮点型双精度浮点型doubledouble8 8字字节节(6464位)位)布布尔尔型型booleanboolean1 1字字节节(8 8位)位)字符型字符型charchar2 2字字节节(1616位)位)数据类型概述数据类型概述数据类型概述数据类型概述CCUTSOFTJAVA程序设计程序设计1.逻辑类型逻辑类型(1个字节)个字节)常量常量:true,false.变量变量的定义的定义:使用关键字使用关键字 boolean 来定义逻辑变量来定义逻辑变量 例:例:boolean x,tom_12=true,关闭关闭=false;注:注:Java中的布尔值和数字之间不能来回中的布尔值和数字之间不能来回转换,即转换,即false和和true不对应于任何不对应于任何0或非或非0的的整数值。整数值。2.2.整数类型整数类型整数类型整数类型整型整型整型整型数据数据数据数据分为分为分为分为 4 4 种:种:种:种:(1 1)int int 型型型型常量常量常量常量 :123123、6000(6000(十进制十进制十进制十进制),),0 077(77(八进制八进制八进制八进制),),0 x0 x3ABC(3ABC(十六进制十六进制十六进制十六进制).).变量变量变量变量:使用关键字:使用关键字:使用关键字:使用关键字 int int 来定义来定义来定义来定义 int int 型整型变量,型整型变量,型整型变量,型整型变量,4 4个字节。个字节。个字节。个字节。例:例:例:例:int x=12,int x=12,平均平均平均平均=9898,jiafei;=9898,jiafei;(2 2)bytebyte型型型型常量常量常量常量 :JavaJava中不存在中不存在中不存在中不存在bytebyte型变量的表示方法。型变量的表示方法。型变量的表示方法。型变量的表示方法。变量变量变量变量:使用关键字:使用关键字:使用关键字:使用关键字 byte byte 来定义来定义来定义来定义 byte byte 型整型变量,型整型变量,型整型变量,型整型变量,1 1个个个个字节。字节。字节。字节。例:例:例:例:byte x,tom_12=28,byte x,tom_12=28,漂亮漂亮漂亮漂亮=98;=98;(3 3)shortshort型型型型常量常量常量常量:JavaJava中不存在中不存在中不存在中不存在shortshort型常量的表示法。型常量的表示法。型常量的表示法。型常量的表示法。变量变量变量变量:使用关键字:使用关键字:使用关键字:使用关键字 shortshort 来定义来定义来定义来定义 short short 型整型变量,型整型变量,型整型变量,型整型变量,2 2个字节个字节个字节个字节 例:例:例:例:short x=12;short x=12;(4 4)longlong型型型型常量常量常量常量:108108L L(十进制十进制十进制十进制)、0712307123L L(八进制八进制八进制八进制)、0 x3ABC 0 x3ABCL L(十六进制十六进制十六进制十六进制)变量变量变量变量:使用关键字:使用关键字:使用关键字:使用关键字 longlong 来定义来定义来定义来定义 long long 型整型变量,型整型变量,型整型变量,型整型变量,8 8个个个个字节字节字节字节 例:例:例:例:long width=12L,length;long width=12L,length;注:注:注:注:JavaJava没有提供任何无符号整数类型。没有提供任何无符号整数类型。没有提供任何无符号整数类型。没有提供任何无符号整数类型。CCUTSOFTJAVA程序设计程序设计3.字符类型字符类型(2个字节)个字节)字符常量字符常量:A,b,?,!,9,好好,t,14字符字符变量变量的定义:的定义:使用关键字使用关键字 char 来定义字符变量来定义字符变量 例:例:char x,char tom_12;注:注:对于对于char型变量,内存分配型变量,内存分配2个字节,个字节,char型变量的取值范围为型变量的取值范围为065535。例如:例如:char x=a;char x=97;转意字符常量转意字符常量:n、b、t、字符串常量字符串常量:“A”、“Hellon Java”要观察一个字符在要观察一个字符在Unicode字符集中的顺字符集中的顺序位置,必须使用序位置,必须使用int类型显示转换,如类型显示转换,如(int)a。反之,如果要得到一个。反之,如果要得到一个065535之间的数所代表的之间的数所代表的Unicode表中的相表中的相应位置上的字符也必须使用应位置上的字符也必须使用char型显示转型显示转换,如换,如(char)123。例例例例1 1:public class Example2_1 public class Example2_1 public static void main(String args)public static void main(String args)char ch1=,ch2=;char ch1=,ch2=;int p1=32831,p2=30452;int p1=32831,p2=30452;System.out.println(+ch1+System.out.println(+ch1+的位置的位置的位置的位置:+(int)ch1);:+(int)ch1);System.out.println(+ch2+System.out.println(+ch2+的位置的位置的位置的位置:+(int)ch2);:+(int)ch2);(第第第第+p1+p1+个位置上的字符是个位置上的字符是个位置上的字符是个位置上的字符是:+(char)p1);:+(char)p1);(第第第第+p2+p2+个位置上的字符是个位置上的字符是个位置上的字符是个位置上的字符是:+(char)p2);:+(char)p2);CCUTSOFTJAVA程序设计程序设计4.浮点类型浮点类型(实型实型)浮点型分两种:浮点型分两种:(1)float 型型(4个字节)个字节)常量常量:123.5439f,12389.987F,123.0f,2e40f(f 不不可省略可省略)变量变量的定义的定义:使用关键字使用关键字 float 来定义来定义 float 型变量型变量 例:例:float x=22.76f,weight=1e-12F;(2 2)double double 型型型型(8 8个字节)个字节)个字节)个字节)常量常量常量常量:12389.5439d(12389.5439d(d d可以省略可以省略可以省略可以省略),12389908.987,12389908.987,123.0,6e-140(6123.0,6e-140(6乘乘乘乘1010的的的的-140-140次方次方次方次方,科学计数法科学计数法科学计数法科学计数法)变量变量变量变量的定义的定义的定义的定义:使用关键字使用关键字使用关键字使用关键字 double double 来定义来定义来定义来定义 double double 型变量型变量型变量型变量 例:例:例:例:double x=23.345d,length=1e12;double x=23.345d,length=1e12;注意:注意:注意:注意:如果变量赋值时没有对如果变量赋值时没有对如果变量赋值时没有对如果变量赋值时没有对floatfloat类型加上后缀类型加上后缀类型加上后缀类型加上后缀f f,就,就,就,就会出错:会出错:会出错:会出错:float f1=125.39;float f1=125.39;JavaJava是一种强类型语言是一种强类型语言是一种强类型语言是一种强类型语言,用表达式为一个变量赋值,用表达式为一个变量赋值,用表达式为一个变量赋值,用表达式为一个变量赋值,或是在一个方法中传递参数时,两者数据类型必须匹配,或是在一个方法中传递参数时,两者数据类型必须匹配,或是在一个方法中传递参数时,两者数据类型必须匹配,或是在一个方法中传递参数时,两者数据类型必须匹配,否则需要类型转换。否则需要类型转换。否则需要类型转换。否则需要类型转换。JavaJava中的类型转换有两种:自动转中的类型转换有两种:自动转中的类型转换有两种:自动转中的类型转换有两种:自动转换和强制转换。换和强制转换。换和强制转换。换和强制转换。(1)(1)自动转换自动转换自动转换自动转换当把在级别低的变量的值赋给级别高的变量时当把在级别低的变量的值赋给级别高的变量时当把在级别低的变量的值赋给级别高的变量时当把在级别低的变量的值赋给级别高的变量时,系统系统系统系统自动完成数据类型的转换。自动完成数据类型的转换。自动完成数据类型的转换。自动完成数据类型的转换。5.基本数据类型间的转换基本数据类型间的转换 低低低低-高高高高byteshortcharint longfloatdoublebyteshortcharint longfloatdouble(1)在表达式中,在表达式中,byte、short或或char数据将无条件数据将无条件地转换地转换(升级升级)为为int类型。类型。(2)在表达式中,实现低级别向高级别自动升级。在表达式中,实现低级别向高级别自动升级。(3)在赋值表达式中,如果左值类型高于右值类型,在赋值表达式中,如果左值类型高于右值类型,则右值类型自动转换为左值类型。则右值类型自动转换为左值类型。例如:例如:float x=100;如果输出如果输出 x 的值的值,结果将是结果将是 int x=50;float y;y=x;如果输出如果输出 y 的值的值,结果将是结果将是100.050.0(2)(2)强制转换强制转换强制转换强制转换当级别高的变量的值赋给级别低的变量时当级别高的变量的值赋给级别低的变量时当级别高的变量的值赋给级别低的变量时当级别高的变量的值赋给级别低的变量时,必须强必须强必须强必须强制进行数据类型转换。制进行数据类型转换。制进行数据类型转换。制进行数据类型转换。强制转换格式为:强制转换格式为:强制转换格式为:强制转换格式为:(目标数据类型目标数据类型目标数据类型目标数据类型)变量名或表达式变量名或表达式变量名或表达式变量名或表达式如:如:如:如:int x=int x=(int)(int)23.89;23.89;long y=long y=(long)(long)34.98f;34.98f;输出输出输出输出 x x的值是的值是的值是的值是2323 输出输出输出输出y y 的值是的值是的值是的值是 3434注意注意注意注意:强制转换运算可能导致精度的损失。:强制转换运算可能导致精度的损失。:强制转换运算可能导致精度的损失。:强制转换运算可能导致精度的损失。总结:总结:总结:总结:1 1)所有整数类型都能向)所有整数类型都能向)所有整数类型都能向)所有整数类型都能向floatfloat或或或或doubledouble自动转换,自动转换,自动转换,自动转换,反之必须强制转换;反之必须强制转换;反之必须强制转换;反之必须强制转换;2 2)字符类型可向)字符类型可向)字符类型可向)字符类型可向intint、longlong、floatfloat、doubledouble自动转自动转自动转自动转换,反之必须强制转换;换,反之必须强制转换;换,反之必须强制转换;换,反之必须强制转换;3 3)字符类型转换为)字符类型转换为)字符类型转换为)字符类型转换为bytebyte时必须强制转换;时必须强制转换;时必须强制转换;时必须强制转换;4 4)布尔类型不可和任何其他数据类型转换。)布尔类型不可和任何其他数据类型转换。)布尔类型不可和任何其他数据类型转换。)布尔类型不可和任何其他数据类型转换。CCUTSOFTJAVA程序设计程序设计例例例例2 2:public class Example2_2 public class Example2_2 public static void main(String args)public static void main(String args)int c=12;int c=12;long d=66666;long d=66666;float f=1e-20F;float f=1e-20F;double g=3.14e-300;double g=3.14e-300;double result=f*g;double result=f*g;System.out.println(f=+f);System.out.println(f=+f);System.out.println(g=+g);System.out.println(g=+g);System.out.println(rerult=+result);System.out.println(rerult=+result);g=1234.123456789;g=1234.123456789;c=(int)d;c=(int)d;f=(float)g;f=(float)g;(c=+c);(c=+c);(d=+d);(d=+d);System.out.println(f=+f);System.out.println(f=+f);System.out.println(g=+g);System.out.println(g=+g);2.3 从命令行输入、输出数据从命令行输入、输出数据例例例例3 3:import;import;public class Example2_3 public class Example2_3 public static void main(String args)public static void main(String args)(请输入若干个数,每输入一个数回车确认请输入若干个数,每输入一个数回车确认请输入若干个数,每输入一个数回车确认请输入若干个数,每输入一个数回车确认););(最后输入数字最后输入数字最后输入数字最后输入数字0 0结束输入操作结束输入操作结束输入操作结束输入操作););Scanner reader=new Scanner(System.in);Scanner reader=new Scanner(System.in);double sum=0;double sum=0;int m=0;int m=0;double x=double x=reader.nextDouble();reader.nextDouble();while(x!=0)while(x!=0)m=m+1;m=m+1;sum=sum+x;sum=sum+x;x=reader.nextDouble();x=reader.nextDouble();(m (m+个数的和为个数的和为个数的和为个数的和为+sum);+sum);System.out.println(m+System.out.println(m+个数的平均值个数的平均值个数的平均值个数的平均值+sum/m);+sum/m);(“(“格式控制部分格式控制部分格式控制部分格式控制部分”,表达式表达式表达式表达式1,1,表达式表达式表达式表达式2,2,表达式表达式表达式表达式n)n)格式控制部分格式控制部分格式控制部分格式控制部分由格式控制符号由格式控制符号由格式控制符号由格式控制符号%d%d、%c%c、%f%f、%s%s和普通字符组成,普通字符原样输出。格式符号和普通字符组成,普通字符原样输出。格式符号和普通字符组成,普通字符原样输出。格式符号和普通字符组成,普通字符原样输出。格式符号用来输出表达式的值。用来输出表达式的值。用来输出表达式的值。用来输出表达式的值。格式符号的作用格式符号的作用格式符号的作用格式符号的作用:%d%d%c%c%f%f%s%s输出数据时也可以控制数据在命令行的位置输出数据时也可以控制数据在命令行的位置输出数据时也可以控制数据在命令行的位置输出数据时也可以控制数据在命令行的位置:%md%md%m.nd%m.nd2.4 数组数组1.1.声明数组声明数组声明数组声明数组声明一维数组有下列声明一维数组有下列声明一维数组有下列声明一维数组有下列两种格式两种格式两种格式两种格式:数组元素类型数组元素类型数组元素类型数组元素类型数组名字数组名字数组名字数组名字 ;数组元素类型数组元素类型数组元素类型数组元素类型 数组名字;数组名字;数组名字;数组名字;声明二维数组有下列两种格式声明二维数组有下列两种格式声明二维数组有下列两种格式声明二维数组有下列两种格式 数组元素类型数组元素类型数组元素类型数组元素类型数组名字数组名字数组名字数组名字 ;数组元素类型数组元素类型数组元素类型数组元素类型 数组名字;数组名字;数组名字;数组名字;例如:例如:例如:例如:float boy;double girl;float boy;double girl;char cat char cat;float a ;float a ;double b;char d ;double b;char d ;2.2.创建数组创建数组创建数组创建数组为数组分配内存空间为数组分配内存空间为数组分配内存空间为数组分配内存空间 的格式如下:的格式如下:的格式如下:的格式如下:数组名字数组名字数组名字数组名字=new =new 数组元素的类型数组元素的类型数组元素的类型数组元素的类型 数组元素的个数数组元素的个数数组元素的个数数组元素的个数;例如:例如:例如:例如:boy=new float4;boy=new float4;声明数组和创建数组可以一起完成声明数组和创建数组可以一起完成声明数组和创建数组可以一起完成声明数组和创建数组可以一起完成,例如:例如:例如:例如:float boy=new float4float boy=new float4;说明说明说明说明:数组:数组:数组:数组boyboy获得获得获得获得4 4个用来存放个用来存放个用来存放个用来存放floatfloat类型数据的内存类型数据的内存类型数据的内存类型数据的内存空间。数组变量空间。数组变量空间。数组变量空间。数组变量boyboy中存放着这些内存单元的首地址,中存放着这些内存单元的首地址,中存放着这些内存单元的首地址,中存放着这些内存单元的首地址,该地址称作数组的引用。该地址称作数组的引用。该地址称作数组的引用。该地址称作数组的引用。0 x85BA0 x85BAboy0boy0 boy1boy1 boy2boy2boy3boy3boyboy二维数组和一维数组一样,在定义之后必须用二维数组和一维数组一样,在定义之后必须用二维数组和一维数组一样,在定义之后必须用二维数组和一维数组一样,在定义之后必须用 new new 运算符分配内存空间,例如:运算符分配内存空间,例如:运算符分配内存空间,例如:运算符分配内存空间,例如:int mytwo;int mytwo;mytwo=new int 35;mytwo=new int 35;或或或或 int mytwo=new int34;int mytwo=new int34;说明:说明:说明:说明:一个二维数组可以看成是由若干个一维数组组成。一个二维数组可以看成是由若干个一维数组组成。一个二维数组可以看成是由若干个一维数组组成。一个二维数组可以看成是由若干个一维数组组成。构成二维数组的一维数组不必有相同的长度构成二维数组的一维数组不必有相同的长度构成二维数组的一维数组不必有相同的长度构成二维数组的一维数组不必有相同的长度例如:例如:例如:例如:int a=new int3;int a=new int3;a0=new int6;a1=new int12;a2=new a0=new int6;a1=new int12;a2=new int8;int8;和和和和 C C 语言不同的是,语言不同的是,语言不同的是,语言不同的是,Java Java 允许使用允许使用允许使用允许使用 int int 型变量指定型变量指定型变量指定型变量指定数组的大小数组的大小数组的大小数组的大小 。3.3.数组元素的使用数组元素的使用数组元素的使用数组元素的使用 一维数组通过下标符访问自己的元素一维数组通过下标符访问自己的元素一维数组通过下标符访问自己的元素一维数组通过下标符访问自己的元素,如:如:如:如:boy0,boy1boy0,boy1等等等等.二维数组也通过下标符访问自己的元素二维数组也通过下标符访问自己的元素二维数组也通过下标符访问自己的元素二维数组也通过下标符访问自己的元素,如:如:如:如:a01,a12a01,a12等等等等 。注:需要注意的是下标从注:需要注意的是下标从注:需要注意的是下标从注:需要注意的是下标从 0 0 开始。开始。开始。开始。4.length4.length的使用的使用的使用的使用表示数组长度的格式:表示数组长度的格式:表示数组长度的格式:表示数组长度的格式:数组名数组名数组名数组名.length.length说明:说明:说明:说明:一维数组:数组中元素的个数一维数组:数组中元素的个数一维数组:数组中元素的个数一维数组:数组中元素的个数二维数组:一维数组的个数二维数组:一维数组的个数二维数组:一维数组的个数二维数组:一维数组的个数例如:例如:例如:例如:float a=new float12;float a=new float12;Int b=new int36;Int b=new int36;5.5.数组的初始化数组的初始化数组的初始化数组的初始化 创建数组后创建数组后创建数组后创建数组后,系统会给每个数组元素一个默认的值系统会给每个数组元素一个默认的值系统会给每个数组元素一个默认的值系统会给每个数组元素一个默认的值,如:如:如:如:float float 型是型是型是型是 0.00.0。我们在声明数组时同时也还可以给数组的元素一个我们在声明数组时同时也还可以给数组的元素一个我们在声明数组时同时也还可以给数组的元素一个我们在声明数组时同时也还可以给数组的元素一个初始值初始值初始值初始值,如:如:如:如:float boy=12.3f,23.89f,2.0f,23f,578.98ffloat boy=12.3f,23.89f,2.0f,23f,578.98f 上述语句相当于:上述语句相当于:上述语句相当于:上述语句相当于:float boy=new float5float boy=new float5;boy0=12.3f;boy0=12.3f;boy1=23.89f;boy1=23.89f;boy2=2.0f;boy2=2.0f;boy3=23f;boy3=23f;boy4=578.98f boy4=578.98f;例如:例如:例如:例如:String s=“we”,“are”,“hello”,“123”,“who?”String s=“we”,“are”,“hello”,“123”,“who?”;6.6.数组的引用数组的引用数组的引用数组的引用 两个相同类型的数组如果具有相同的引用,两个相同类型的数组如果具有相同的引用,两个相同类型的数组如果具有相同的引用,两个相同类型的数组如果具有相同的引用,那么它们就有完全相同的元素。那么它们就有完全相同的元素。那么它们就有完全相同的元素。那么它们就有完全相同的元素。例如:例如:例如:例如:int a=1,2,3,b=4,5;int a=1,2,3,b=4,5;0 x35ce360 x35ce36a aa0a0 a1a1 a2a2 0 x757aef0 x757aefb bb0b0b1b10 x757aef0 x757aefb bb0b0b1b10 x757aef0 x757aefa0a0a1a1a a例例例例4 4:public class Example2_4public class Example2_4 public static void main(String args)public static void main(String args)int a=1,2,3,4;int a=1,2,3,4;int b=100,200,300;int b=100,200,300;(数组数组数组数组a a的引用的引用的引用的引用=+a);=+a);(数组数组数组数组b b的引用的引用的引用的引用=+b);=+b);a=b;a=b;(数组数组数组数组a a的元素个数的元素个数的元素个数的元素个数=+a.length);=+a.length);(数组数组数组数组b b的元素个数的元素个数的元素个数的元素个数=+b.length);=+b.length);System.out.print(a2=+a2+,b2=+b2);System.out.print(a2=+a2+,b2=+b2);2.5 枚举类型枚举类型语法格式:语法格式:语法格式:语法格式:enum enum 名字名字名字名字 常量列表常量列表常量列表常量列表 说明:说明:说明:说明:常量列表是用逗号分割的字符序列,称为枚举类型的常量。常量列表是用逗号分割的字符序列,称为枚举类型的常量。常量列表是用逗号分割的字符序列,称为枚举类型的常量。常量列表是用逗号分割的字符序列,称为枚举类型的常量。声明了一个枚举类型后,就可以用该类型声明一个枚举变量,声明了一个枚举类型后,就可以用该类型声明一个枚举变量,声明了一个枚举类型后,就可以用该类型声明一个枚举变量,声明了一个枚举类型后,就可以用该类型声明一个枚举变量,该枚举类型变量只能取枚举类型中的常量。该枚举类型变量只能取枚举类型中的常量。该枚举类型变量只能取枚举类型中的常量。该枚举类型变量只能取枚举类型中的常量。例如:例如:例如:例如:enum Seasonenum Season spring,summer,autumn,winter spring,summer,autumn,winter 例如:例如:例如:例如:Season.spring;Season.spring;例例例例5 5:enum Seasonenum Season spring,summer,autumn,winter spring,summer,autumn,winter public class Epublic class E public static void main(String args)public static void main(String args)Season season=Season.spring;Season season=Season.spring;System.out.println(season);System.out.println(season);