欢迎来到天天文库
浏览记录
ID:48824680
大小:2.15 MB
页数:50页
时间:2020-01-30
《第4章 数组、向量和字符串 - 副本.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第4章数组、向量和字符串数组数组说明数组是一系列的匿名变量,数组中的元素可通过下标来访问在Java中,数组是对象。类Object中定义的方法都可以用于数组对象。可以说明任何类型的数组基本类型,类类型,数组等数组在使用之前必须先说明一维数组的定义typearrayName[];变量名后接方括号将方括号放到变量名的左面chars[];intintArray[];DatedateArray[];Pointpoints[];type[]arrayName;创建数组静态初始化和动态初始化静态初始化就是在定义数组的同时对数组元素进行初始化静态初始化可用于任何元素类型,初值块中每个位置的每个元
2、素对应一个引用。动态初始化是使用运算符new为数组分配空间。数组说明的方括号中的数字表示数组元素个数静态初始化intintArray[]={1,2,3,4};int[]ages={34,12,45};double[]heights={84.124,78.2,61.5};boolean[]tired={true,false,false,true};String[]names={“Zhang",“Li",“Wang"};动态初始化type[]arrayName=newtype[arraySize]typearrayName[]=newtype[arraySize]s=newchar[20
3、];复合类型的数组复合类型的数组需要经过两步进行空间分配使用运算符new只是为数组本身分配空间,并没有对数组的元素进行初始化第一步先创建数组本身:typearrayName[]=newtype[arraySize];第二步分别创建各个数组元素:arrayName[0]=newtype(paramList);…arrayName[arraySize-1]=newtype(paramList);复合类型的数组points=newPoint[100];points[0]=newPoint();points[1]=newPoint();…points[99]=newPoint();str
4、ingstringArrar[];stringArray=newString[3];stringArray[0]=newString(“how”);stringArray[1]=newString(“are”);Java中没有静态的数组定义,内存都是通过new动态分配的。intintArray[5];//是错误的数组说明与创建关系Point类classPoint{intx,y;Point(intx1,inty1){x=x1;y=y1;}Point(){this(0,0);}}数组说明与创建关系points(a)pointsLength:100…(b)points…Length:100
5、X:Y:(c)Point[]points;执行完毕,系统为变量points分配一个引用空间points=newPoint[100];执行完毕,系统在内存中分配一个数组对象并把数组引用赋给变量pointspoints[1]=newPoint();数组说明注意数组变量的类型可以指向它的父类正确错误Object[]points;points=newPoint[100];Point[]points;points=newObject[100];数组边界数组下标从0开始,元素个数length是数组类中唯一的数据成员变量new创建数组时系统自动给length赋值数组一旦创建完毕,其大小就固定下来程
6、序运行时可以使用length进行数组边界检查。如果发生越界访问,则抛出一个异常数组边界例intlist[]=newint[10];for(inti=0;i7、Name[6*i]多维数组多维数组的定义Java中没有真正的多维数组,可以建立数组的数组(的数组……),由此得到多维数组n维数组是n-1维数组的数组说明多维数组时使用类型及多对方括号二维数组二维数组的定义方式:与一维数组一样,定义对数组元素也没有分配内存空间,要使用运算符new来分配内存,然后才可以访问每个元素typearrayName[][]type[][]arrayName多维数组的初始化静态初始化在定义数组的同时为数组分配空间动态初始化直接为每一维分
7、Name[6*i]多维数组多维数组的定义Java中没有真正的多维数组,可以建立数组的数组(的数组……),由此得到多维数组n维数组是n-1维数组的数组说明多维数组时使用类型及多对方括号二维数组二维数组的定义方式:与一维数组一样,定义对数组元素也没有分配内存空间,要使用运算符new来分配内存,然后才可以访问每个元素typearrayName[][]type[][]arrayName多维数组的初始化静态初始化在定义数组的同时为数组分配空间动态初始化直接为每一维分
此文档下载收益归作者所有