我们先说"数组",数组是有序数据的集合,数组中的每个元素具有相同的数组名和下标来唯一地确定数组中的元素。
一、一维数组的定义
type arrayName[];
其中类型(type)可以为Java中任意的数据类型,包括简单类型组合类型,数组名arrayName为一个合法的标识符,[]指明该变量是一个数组类型变量。例如:
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];
二、一维数组元素的引用
定义了一个数组,并用运算符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的长度。
三、一维数组的初始化
对数组元素可以按照上述的例子进行赋值。也可以在定义数组的同时进行初始化。
例如:
int a[]={1,2,3,4,5};
用逗号(,)分隔数组的各个元素,系统自动为数组分配一定空间。
与C中不同,这时Java不要求数组为静态(static)。
package com.cdp.shuzu; public class shuzu1 { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub //定义数组 String[] str1 = { "a1", "a2", "a3", "a4", "a5" }; String[] str2 = { "b1", "b2", "b3", "b4", "b5" }; //组合数组 String[] str3 = new String[5]; for (int i = 0; i < str1.length; i++) { str3[i] = str1[i] + str2[i]; } for (int i= 0; i < str3.length; i++) { System.out.print(str3[i] + " "); } } }
run:
a1b1 a2b2 a3b3 a4b4 a5b5