第3章数组和方法
Java语言的数组Java语言的方法和方法重载
河北
软件职业技术
数组和方法
Java语言的数组3.1Java语言的数组
目标:数组的概念一维数组二维数组
河北软件职业技术
数组和方法
数组的概念
在Java语言中,数组是一种复合数据类型,它是一组相同类型相同类型的数据的有序有序集合。相同类型有序注意:注意:数组元素在一个数组中每个元素的数据类型都是相同的。在一个数组中所有元素共用一个数组名,利用数组名和下标就可唯一的标识每一个元素。数组要经过定义、分配内存及赋值后才能使用。
河北软件职业技术数组和方法
一维数组
定义数组元素类型例如:intintArray[];Student[]stu;String[]str;注意:在Java语言中,数组是一种复合数据类型,声明一个数组并没有为数组元素分配内存,因此也不能使用他们。数组只有经过初始化,得到存放此种数据的内存后才能使用。
河北软件职业技术数组和方法
数组名[];
或数组元素类型[]数组名;
静态初始化数组元素类型数组名[]={初值1,初值2,……};例如:bytebyteArray[]={48,59,20,52,41};注意:用该方法定义和初始化数组时不必预先给出数组的大小,
系统根据初值的个数确定数组的大小,自动分配相应的内存空间。在Java语言中,数组的大小可以通过数组的length属性得到。例如,byteArray.length的值为5。
河北软件职业技术数组和方法
数组元素的引用格式:数组名[下标]注意:下标不能越界,取值范围是0~length-1。通常,Java会自动进行数组下标越界检查,例3.1一维数组的使用(UseIntArray)如果下标越界会产生数组下标越界异常。例3.2数组是引用类型(RefArray)intintArray[]={18,-9,81,96,12};intrefArray[];refArray=intArray;注意!
河北软件职业技术
数组和方法
动态初始化:通过new为数组分配内存空间格式1:格式:数组名=new数组元素类型[数组元素个数];例如:intintArray[];intArray=newint[10];格式2:格式:数组元素类型数组名[]=new数组元素类型[元素个数];或数组元素类型[]数组名=new数组元素类型[元素个数];例如:intintArray[]=newint[10];
河北软件职业技术数组和方法
//数组的声明//内存空间的分配
注意:用new为数组分配内存后,自动用数据类型的默认值初始化所有的数组元素。各类数据类型的默认值:整型为0,实型为0.0f或0.0d,字符型为‘\u0000’,类对象(引用类型)初始化为null。例如:doubled[]=newdouble[5];d[0]、d[1]、d[2]、d[3]、d[4]的取值都为0.0。例3.3定义整型数组并初始化该数组,将数组中的元素由小到大排序输出。(冒泡排序算法ArraySort)例3.4对象数组的应用。(ObjArray)
河北软件职业技术数组和方法
二维数组
在Java语言中,二维数组被看作是数组的数组。二维数组的定义格式为:数据类型或二维数组的初始化二维数组的初始化静态初始化:在定义数组的同时为数组分配空间动态初始化:数组名[][];数组名;数据类型[][]
使用new运算符为数组分配空间例如:intintArray[][]={{1,2,3},{4,5,6}};
河北软件职业技术数组和方法
二维数组动态初始化可采用如下两种方法:(1)直接为每一维分配空间。例如:inta[][]=newint[2][3];(2)从最高维开始(必须从最高维开始),分别为每一维分配空间。例如:inta[][]=newint[2][];a[0]=newint[3];a[1]=newint[3];注意:Java中允许二维数组中每行的元素个数不同,即每行的列数可以不同。
河北软件职业技术数组和方法
例如:intb[][]=newint[3][];那么,b.length=?如果有如下定义:inta0[]={11};inta1[]={21,22};inta2[]={31,32,33};则:b[0]=a0;b[1]=a1;b[2]=a2;112122313233