资源描述:
《4[1].1Java数组》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、4.1Java数组一、一维数组1.基本概念:(1)数组:数组是有序数据的集合。(2)数组元素:数组名和下标来唯一地确定数组中的元素。(数组元素的下标从0开始)(3)数组长度:数组对象所包含的元素个数。2.一维数组的声明在Java中,一维数组的定义形式为:数组元素类型数组名[];或数组元素类型[]数组名;例如char[]c;Charc[];也可以在一条语句中声明多个数组变量:(一般不提倡使用)Char[]a,b,c;Chara[],b[],c[];但chara[],b,c;中a是数组变量,而b和c不
2、是。3.Java中数组对象的创建(两种形式)(1)使用关键字new创建数组对象,格式为:数组名=new数组元素的类型[数组元素的个数];例如:public class TestNew { public static void main(String args[]) { int[] s ; int i ; s = new int[5] ; for(i = 0 ; i < 5 ; i++) { s[i]
3、 = i ; } for(i = 4 ; i >= 0 ; i--) { System.out.println("" + s[i]) ; } } } (2)数组的初始化语句创建数组对象数组元素的数据类型[]变量名={数组元素1,数组元素2,…,数组元素n};或:数组元素的数据类型变量名[]={数组元素1,数组元素2,…,数组元素n};例如:char[]c={‘a’,‘b’,‘c’,‘d’,‘e’}初始化:1
4、)静态初始化:在定义数组的同时就为数组元素分配空间并赋值;2)动态初始化:数组定义与为数组分配空间和赋值的操作分开进行;3)默认初始化:数组是引用类型,它的元素相当于类的成员变量,因此数组分配空间后,每个元素也被按照成员变量的规则被隐式初始化。数组元素的数据类型是引用型(即类、接口或数组类型)时,数组名[下标]的值是引用。在没有给它赋值前,其默认的值为null。因此还需要通过new运算符及赋值语句给它们分别赋值。例如:Strings[]=newString[3];S[0]=newString(“a
5、bc”);S[1]=newString(“def”);S[2]=newString(“gh”);上面的四条语句还可以简化成一个数组的初始化语句:Strings[]={newString(“abc”),newString(“def”),newString(“gh”)};//变量s是一个数组对象的引用,执行初始化以后,该数组的三个元素分别指向三个不同的字符串对象。程序举例:publicclassTestD{publicstaticvoidmain(Stringargs[]){inta[];a=newi
6、nt[3];a[0]=0;a[1]=1;a[2]=2;for(inti=0;i<3;i++)System.out.print(""+a[i]);System.out.println();Datedays[];days=newDate[3];days[0]=newDate(2008,4,5);days[1]=newDate(2008,2,31);days[2]=newDate(2008,4,4);for(inti=0;i<3;i++){System.out.print(days[i].year);S
7、ystem.out.print("."+days[i].month);System.out.print("."+days[i].day);System.out.println();}}}classDate{intyear,month,day;Date(intyear,intmonth,intday){this.year=year;this.month=month;this.day=day;}}程序输出:0122008.4.52008.2.312008.4.4静态初始化举例:public class
8、 TestS { public static void main(String args[]) { int a[] = {0,1,2} ; Time times [] = {new Time(19,42,42),new Time(1,23,54),new Time(5,3,2)} ; } } class Time { int hour,min,sec ;