《Java语言09(数组与枚举).ppt》由会员分享,可在线阅读,更多相关《Java语言09(数组与枚举).ppt(35页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第章 数组与枚举数组数组是由一组类型相同的元素组成的有顺序的数据集合。数组中的每个元素的数据类型相同。数组的元素通过下标取用。Java数组是一个独立的对象,要经过定义、分配内存及赋值后才能使用。一维数组的定义与创建Java语言中,数组的创建分二个步骤:1.定义一维数组变量2.为数组分配内存Java语言创建数组的三种方法方法一:1.先定义数组变量其格式为:先定义数组变量其格式为:数组元素类型数组名;数组元素类型数组名;2.再创建数组对象,并为数组分配空间再创建数组对象,并为数组分配空间数组名new 数组元素类型数组元素个数int a;double b;a=new int3;b=new doubl
2、e10;方法二:同时定义数组变量并创建数组对象:数组元素类型 数组名=new 数组元素类型数组元素个数int x=new int3;double y=new double10;方法三不使用运算符new,而是直接初始化:数组元素类型 数组名=值1,值2,;int a=11,12,13,14,15;可以使用new运算符改变已经创建了的数组空间:int x=new int3;x=new int5;public class IntArray public static void main(String args)int a=1,2,3;int i,sum=0;for(i=0;ia.length;i+)
3、sum+=ai;for(i=0;i0;j-)for(int i=0;ij;i+)if(testitesti+1)t=testi;testi=testi+1;testi+1=t;for(int i=0;i6;i+)System.out.println(testi);对象数组当数组元素的类型是某种对象类型时,则构成对象数组。使用“.”运算符访问对象中的成员。二维数组二维数组是一个特殊的一维数组,即一维数组中的每个元素又是一个一维数组,则构成二维数组。二维数组的定义二维数组的定义格式为:数据类型数组名;数据类型数组名;二维数组的创建与一维数组一样,这时对数组元素也没有分配内存空间,同样要使用运算符n
4、ew来创建数组对象,分配内存:类型类型 数组名数组名=new=new 类型类型 首维元素数首维元素数次维元素数次维元素数;或:类型类型 数组名数组名=new=new 类型类型 首维元素数首维元素数;数组名数组名 首维首元素首维首元素 new new 类型类型 次维元素数次维元素数;数组名数组名 首维次元素首维次元素 new new 类型类型 次维元素数次维元素数;public class TwoArray public static void main(String args)int b=11,21,22,31,32,33,34;int sum=0;System.out.println(b.l
5、ength+,+b2.length);for(int i=0;ib.length;i+)for(int j=0;jbi.length;j+)sum+=bij;System.out.println(sum);关于char型数组的说明对于char型数组,不会输出数组的引用而是输出数组全部元素值。如果想输出其引用,必须让数组和字符串做并置运算。7.2 遍历数组7.2.1 基于循环语句的遍历for(声明循环变量:数组的名字)这里循环变量必须与数组的类型相同。7.2.2 使用toString()方法数组*JDK1.5以后,在Array类中提供一个简单的输出数组元素值的方法。public static S
6、tring toString(int a)可以得到字符串:a0,a1,a2,aa.length-1数组的相关操作在Java中所有的数组都有一个表示元素个数的Length属性。System.arraycopy():从一个源数组拷贝到另一个数组。Arrays.sort():数组的排序。Arrays.BinarySreach():在已经排序的数组中查找一个元素。.复制数组.3.1 arraycopy方法arraycopy是将一个数组中相应的元素分别赋值给另一个数组中的相应元素:public static void arraycopy(sourceArray,int index1,copyArray,
7、int index2,int length)和copyOfRange()方法*public static double copyOf(double original,int newLength)copyOf方法返回的新数组的第newLength索引后的元素取默认值。public static double copyofRang(double original,int from,int to)copyofRang方法可以返回长度为to-from,从索引from至to-1的元素构成的新数组。.4 排序与二分查找*Arrays类调用相应的方法可以实现对数组的快速排序:public static vo
8、id sort(double a)或:public stati void sort(double a,int start,int end)经过排序的数组可以用可以用binarySearch方法进行搜索数组中的某元素。public static int binarySearch(double a,double number)如果找到number,返回索引,否则返回-。7.5 枚举Java使用关键字enum声明枚举类型,枚举声明给出了枚举类型的名字。枚举声明后的一对大括号忱的内容是枚举体,枚举体中的内容是用逗号分开的字符序列,称为余兴类型常量,而且枚举类型的常量要符合标识符规定,即由字母、下划线、
9、美元符号和数字组成,并且每个字符不能是数字字符。枚举类型的定义包括枚举声明和枚举体:enum 枚举名常量表.5.2枚举变量声明了一个枚举类型后,就可以用该枚举类型的枚举名声明一个枚举变量。枚举变量X只能使用枚举类型中的常量。通过使用枚举和“.”运算符获取枚举类型中的常量。7.5.3 枚举类型与for语句和switch语句.使用for遍历枚举常量枚举类型可以用如下形式返回一个一维数组:枚举类型名.values();2.switch语句中使用枚举常量JDK.允许switch语句中表达式的是枚举类型的常量。命令行参数所谓命令行参数,是指执行某个Java应用程序时,从命令行中向程序直接传送的参数。public class CmdLineParameter public static void main(String args)if(args.length1)System.out.println(need a parameter at least!);System.exit(0);for(int i=0;iargs.length;i+)System.out.println(parameter+i+is:+argsi);
限制150内