JAVA大学教学课件第四章数组.ppt
主讲教师:xxx,Java语言程序设计,Java语言程序设计,第四章:数组,4.1 数组,1。数组是一个固定长度的结构,它存储一组或多组数据类型相同或相似的信息。你可以在数组中集合相同类型的数值。,2。数组直接被JAVA编程语言所支持,所以没有一个数组类。3。对于基本数据类型而言,数组中各元素必须是同一类型的;而对于引用类型来说,数组中的各元素必须是相似类型的。,4.2 一维数组-1,(1)声明一个变量来引用一个数组int anArray;/声明整型的数组float anArrayOfFloats;boolean anArrayOfBooleans;Object anArrayOfObjects;String anArrayOfStrings;就象声明其它类型的变量,声明数组变量也没有为数组元素分配任何内存。所以必须在引用数组之前给数组赋值。,4.2 一维数组-2,(2)数组的初始化 1、静态初始化:boolean answers=true,false,true,true,false;int factorial=1,3,2,5;Char ch=a,C,c,d;2、动态初始化:int series=new int4;for(int i=0;i4;i+)seriesi=i*3;,4.2 一维数组-3,(3)获得数组的大小为了获得数组的大小,你可以使用下面的代码:arrayname.length 这里还提醒一下:1、JAVA的新手可能会在length后面加一个圆括号(和)。这样是错误的,因为length不是一个方法。length是由JAVA平台为所有数组提供的一个属性。2、遍历数组的for循环可以使用了anArray.length来决定什么时候终止循环。,4.2 一维数组-4,(4)举例public class ArrayOfStringsDemo public static void main(String args)String anArray=String One,String Two,String Three;for(int i=0;i anArray.length;i+)System.out.println(anArrayi.toLowerCase();,4.3 二维数组-1,(1)声明一个变量来引用一个数组int anArray;/声明整型的数组floatanArrayOfFloats;boolean anArrayOfBooleans;Object anArrayOfObjects;String anArrayOfStrings;就象声明其它类型的变量,声明数组变量也没有为数组元素分配任何内存。所以必须在引用数组之前给数组赋值。,4.3 二维数组-2,(2)数组的初始化 1、静态初始化:int factorial=1,3,2,5;Char ch=a,C,c,d;2、动态初始化:int series=new int46;for(int i=0;i4;i+)for(int j=0;j6;j+)seriesij=i*j;,4.3 二维数组-3,(3)获得数组的大小为了获得数组的大小,你可以使用下面的代码:arrayname.length arraynamei.length 这里还提醒一下:1、JAVA的新手可能会在length后面加一个圆括号(和)。这样是错误的,因为length不是一个方法。length是由JAVA平台为所有数组提供的一个属性。2、遍历数组的for循环可以使用了anArray.length来决定什么时候终止循环。,4.3 二维数组-4,(4)举例public class ArrayOfArraysDemo public static void main(String args)String cartoons=Flintstones,Fred,Wilma,Pebbles,Dino,Rubbles,Barney,Betty,Bam Bam,Jetsons,George,Jane,Elroy,Judy,Rosie,Astro,Scooby Doo Gang,Scooby Doo,Shaggy,Velma,Fred,Daphne;for(int i=0;i cartoons.length;i+)System.out.print(cartoonsi0+:);for(int j=1;j cartoonsi.length;j+)System.out.print(cartoonsij+);System.out.println();,4.4 复制数组-1,使用系统的arraycopy方法来有效地从一个数组复制数据到另外一个数组中去。这个arraycopy方法需要5个参数:public staticvoid arraycopy(Object source,int srcIndex,Object dest,int destIndex,int length)其中两个Object参数指定了从哪个数组复制以及要复制到哪个数组。三个整型参数指示了每个源数组和目标数组的开始位置,以及要复制的元素的数目。,4.4 复制数组-2,4.4 复制数组-3,举例:public class ArrayCopyDemo public static void main(String args)char copyFrom=d,e,c,a,f,f,e,i,n,a,t,e,d;char copyTo=new char7;System.arraycopy(copyFrom,2,copyTo,0,7);System.out.println(new String(copyTo);,4.4 复制数组-4,