资源描述:
《马士兵 java视频教程-第05章_数组》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、尚学堂科技_马士兵_JAVA视频教程_J2SE_5.0_第05章_数组听课笔记09.12.3-byLoveXForce第5章数组完成时间:2009年12月3日-2009年12月4日数组的内存布局与常见算法一、概念1.数组可以看成是多个相同类型数据组合,对这些数据的统一管理2.数组变量属于引用类型,数组可以看成是对象,数组中的每个元素相当于该对象的成员变量3.数组中的元素可以是任何数据类型,包括基本型和引用类型二、一维数组声明:typevar[];或者type[]var例如:inta1[];int[]a2;doubleb[];Person[]p1;//person对象的引用Str
2、ings1[];//String对象的引用注意:java语言中声明数组时不能指定其长度(数组中元素个数),例如inta[5];//非法三、数组对象创建(内存分析)Java中使用关键字new创建数组对象:数组名=new数组元素的类型[数组元素的个数]栈内存SNULL堆内存例如:PublicclassTest{Publicstaticvoidmain(Stringargs[]){int[]s;@S=newint[5];@For(intI=0;I<5;i++){Java分配5个小格,自动做初始化,int类型堆内存0001020304栈内存S****S[i]=2*i+1;}@}}13尚
3、学堂科技_马士兵_JAVA视频教程_J2SE_5.0_第05章_数组听课笔记09.12.3-byLoveXForce元素为引用数据类型的数组注意:元素为引用数据类型的数组中的每一个元素都需要实例化例如:栈内存days堆内存****publicclassTest{publicstaticvoidmain(Stringargs[]){Date[]days;@Days=newDate[3];@for(intI=0;i<3;i++){days[I]=newDate(2004,12,i+1);}@****栈内存days堆内存NullNullnull}}classDate{intyear;
4、intmonth;intday;Date(inty,intm,intd){year=y;month=m;day=d;栈内存days}堆内存****}一、数组初始化动态初始化:数组定义与数组元素分配空间和赋值的操作开始进行静态初始化:在定义数组的同时就为数组元素分配空间并赋值13尚学堂科技_马士兵_JAVA视频教程_J2SE_5.0_第05章_数组听课笔记09.12.3-byLoveXForcepublicclassTest{publicstaticvoidmain(Stringargs[]){inta[];a=newint[3];a[0]=3;a[1]=9;a[2]=8;Dat
5、edays[];Days=newDate[3];Days[0]=newDate(1,4,2004);Days[0]=newDate(1,4,2004);Days[0]=newDate(1,4,2004);}}classDate{intyear;intmonth;intday;Date(inty,intm,intd){year=y;month=m;day=d;}}publicclassTest{publicstaticvoidmain(Stringargs[]){inta[]={3,9,8};Datedays[]={newDate(1,4,2004),newDate(1,4,20
6、04),newDate(1,4,2004)};}}classDate{intyear;intmonth;intday;Date(inty,intm,intd){year=y;month=m;day=d;}}13尚学堂科技_马士兵_JAVA视频教程_J2SE_5.0_第05章_数组听课笔记09.12.3-byLoveXForce数组元素的默认初始化:数组是引用类型,它的元素相当于类的成员变量,因此数组分配空间后,每个元素也被安装成员变量的规则被隐式初始化publicclassTest{publicstaticvoidmain(Stringargs[]){inta[]=newint
7、[5];Date[]days=newDate[3];System.out.println(a[3]);System.out.println(days[2]);}}classDate{intyear;intmonth;intday;Date(inty,intm,intd){year=y;month=m;day=d;}}结果:0null一、数组元素的引用定义并用运算符new为之分配空间后,才可以引用数组中的每个元素,1.数组元素的引用方式:arrayName[index]index为数组元素下标