资源描述:
《Java精解案例教程 第5课 数组》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第五课数组本课内容一维数组的声明和初始化数组元素的引用二维数组的声明和使用数组拷贝数组概述数组是多个相同类型数据的组合,实现对这些数据的统一管理数组属引用类型,数组型数据是对象(object),数组中的每个元素相当于该对象的成员变量数组中的元素可以是任何数据类型,包括基本类型和引用类型一维数组声明一维数组的声明方式:typevar[]或type[]var;例如:inta[];int[]a1;doubleb[];Mydate[]c;Java语言中声明数组时不能指定其长度(数组中元素的个数),例如:inta[5];//非法创建数组(1)publicclassTest{pub
2、licstaticvoidmain(Stringargs[]){int[]s;s=newint[10];for(inti=0;i<10;i++){s[i]=2*i+1;System.out.println(s[i]);}}}Java中使用关键字new创建数组对象创建基本数据类型一维数组对象演示1main栈内存s堆内存处内存状态创建数组(2)创建基本数据类型一维数组对象演示2main栈内存s0int[]对象000000000堆内存处内存状态publicclassTest{publicstaticvoidmain(Stringargs[]){int[]s;s=newint[
3、10];for(inti=0;i<10;i++){s[i]=2*i+1;System.out.println(s[i]);}}}创建数组(3)main栈内存s1int[]对象35791113151719堆内存publicclassTest{publicstaticvoidmain(Stringargs[]){int[]s;s=newint[10];for(inti=0;i<10;i++){s[i]=2*i+1;System.out.println(s[i]);}}}处内存状态创建基本数据类型一维数组对象演示3创建数组(4)创建元素为引用数据类型的数组classMyDat
4、e{privateintday;privateintmonth;privateintyear;publicMyDate(intd,intm,inty){day=d;month=m;year=y;}publicvoiddisplay(){System.out.println(day+"-"+month+"-"+year);}}创建数组(5)publicclassTest{publicstaticvoidmain(Stringargs[]){MyDate[]m;m=newMyDate[10];for(inti=0;i<10;i++){m[i]=newMyDate(i+1,i
5、+1,1990+i);m[i].display();}}}main栈内存m堆内存创建元素为引用数据类型的数组演示1处内存状态创建数组(6)publicclassTest{publicstaticvoidmain(Stringargs[]){MyDate[]m;m=newMyDate[10];for(inti=0;i<10;i++){m[i]=newMyDate(i+1,i+1,1990+i);m[i].display();}}}main栈内存mnullMyDate[]对象nullnullnullnullnullnullnullnullnull堆内存创建元素为引用数据类型
6、的数组演示1处内存状态创建数组(7)Java中使用关键字new创建数组对象main栈内存m*****MyDate[]对象**********nullnullnullnullnullnullnull堆内存111990221991331992publicclassTest{publicstaticvoidmain(Stringargs[]){MyDate[]m;m=newMyDate[10];for(inti=0;i<10;i++){m[i]=newMyDate(i+1,i+1,1990+i);m[i].display();}}}for循环执行三次后内存状态数组初始化动态初
7、始化数组定义与为数组元素分配空间并赋值的操作分开进行。MyDatedates[];dates=newMyDate[3];dates[0]=newMyDate(22,7,1964);dates[1]=newMyDate(1,1,2000);dates[2]=newMyDate(22,12,1964);inta[];a=newint[3];a[0]=3;a[1]=9;a[2]=8;数组初始化静态初始化:在定义数组的同时就为数组元素分配空间并赋值。inta[]={3,9,8};MyDatedates[]={newMyDate(22,7,1964