JAVA数组的定义及用法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
JAVA数组的定义及⽤法
数组是有序数据的集合,数组中的每⼀个元素具有同样的数组名和下标来唯⼀地确定数组中的元素。
1. ⼀维数组
1.1 ⼀维数组的定义
type arrayName[];
type[] arrayName;
当中类型(type)能够为Java中随意的数据类型,包含简单类型组合类型,数组名arrayName为⼀个合法的标识符,[]指明该变量是⼀个数组类型变量。
另外⼀种形式对C++开发⼈员可能认为⾮常奇怪,只是对JAVA或C#这种开发语⾔来说,另外⼀种形式可能更直观,由于这⾥定义的仅仅是个变量⽽已,系统并未对事实上例化,仅仅需指明变量的类型就可以,也不需在[]指定数组⼤⼩。
(第⼀种形式是不是仅仅是为了兼容曾经的习惯,毕竟C语⾔的影响太⼤了?)
⽐如:
int intArray[];
声明了⼀个整型数组,数组中的每⼀个元素为整型数据。
与C、C++不同,Java在数组的定义中并不为数组元素分配内存,因此[]中不⽤指出数组中元素个数,即数组长度,并且对于如上定义的⼀个数组是不能訪问它的不论什么元素的。
我们必须为它分配内存空间,这时要⽤到运算符new,其格式例如以下:
arrayName=new type[arraySize];
当中,arraySize指明数组的长度。
如:
intArray=new int[3];
为⼀个整型数组分配3个int型整数所占领的内存空间。
通常,这两部分能够合在⼀起,格式例如以下:
type arrayName=new type[arraySize];
⽐如:
int intArray=new int[3];
1.2 ⼀维数组元素的引⽤
定义了⼀个数组,并⽤运算符new为它分配了内存空间后,就能够引⽤数组中的每个元素了。
数组元素的引⽤⽅式为:
arrayName[index]
当中:index为数组下标,它能够为整型常数或表达式。
如a[3],b[i](i为整型),c[6*I]等。
下标从0開始,⼀直到数组的长度减1。
对于上⾯样例中的in-tArray数来说,它有3个元素,分别为:
intArray[0],intArray[1],intArray[2]。
注意:没有intArray[3]。
另外,与C、C++中不同,Java对数组元素要进⾏越界检查以保证安全性。
同⼀时候,对于每⼀个数组都有⼀个属性length指明它的长度,⽐如:intArray.length指明数组intArray的长度。
执⾏结果例如以下:
C:/>java ArrayTest
a[4]=4
a[3]=3
a[2]=2
a[1]=1
a[0]=0
该程序对数组中的每⼀个元素赋值,然后按逆序输出。
1.3 ⼀维数组的初始化
对数组元素能够依照上述的样例进⾏赋值。
也能够在定义数组的同⼀时候进⾏初始化。
⽐如:
int a[]={1,2,3,4,5};
⽤逗号(,)分隔数组的各个元素,系统⾃⼰主动为数组分配⼀定空间。
与C中不同,这时Java不要求数组为静态(static),事实上这⾥的变量相似C中的指针,所以将其作为返回值给其他函数使⽤,仍然是有效的,在C中将局部变量返回给调⽤函数继续使⽤是刚開始学习的⼈⾮常easy犯的错误。
2. 多维数组
与C、C++⼀样,Java中多维数组被看作数组的数组。
⽐如⼆维数组为⼀个特殊的⼀维数组,其每⼀个元素⼜是⼀个⼀维数组。
以下我们主要以⼆维数为例来进⾏说明,⾼维的情况是相似的。
2.1 ⼆维数组的定义
⼆维数组的定义⽅式为:
type arrayName[][];
⽐如:
int intArray[][];
与⼀维数组⼀样,这时对数组元素也没有分配内存空间,同要使⽤运算符new来分配内存,然后才⼲够訪问每⼀个元素。
对⾼维数组来说,分配内存空间有以下⼏种⽅法:
1. 直接为每⼀维分配空间,如:
int a[][]=new int[2][3];
2. 从最⾼维開始,分别为每⼀维分配空间,如:
int a[][]=new int[2][];
a[0]=new int[3];
a[1]=new int[3];
完毕1中同样的功能。
这⼀点与C、C++是不同的,在C、C++中必须⼀次指明每⼀维的长度。
2.2 ⼆维数组元素的引⽤
对⼆维数组中每⼀个元素,引⽤⽅式为:arrayName[index1][index2] 当中index1、index2为下标,可为整型常数或表达式,如a[2][3]等,相同,每⼀维的下标都从0開始。
2.3 ⼆维数组的初始化
有两种⽅式:
1. 直接对每⼀个元素进⾏赋值。
2. 在定义数组的同⼀时候进⾏初始化。
如:int a[][]={{2,3},{1,5},{3,4}};
定义了⼀个3×2的数组,并对每⼀个元素赋值。