数组

来源:互联网 发布:淘宝电子书 编辑:程序博客网 时间:2024/05/22 06:16

 

 一维数组的定义

type arrayName[];

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。对于上面例子中的intArray数来说,它有3个元素,分别为:

intArray[0],intArray[1],intArray[2]。注意:没有intArray[3]。

另外,与C、C++中不同,Java对数组元素要进行越界检查以保证安全性。同时,对于每个数组都有一个属性length指明它的长度,例如:intArray.length指明数组intArray的长度。

 

  1. publicclass ArrayTest{ 
  2.     publicstaticvoid main(String args[]){ 
  3.         int i; 
  4.         int a[]=newint[5]; 
  5.         for(i=0;i<5;i++) 
  6.             a[i]=i; 
  7.         for(i=a.length-1;i>=0;i--) 
  8.             System.out.println("a["+i+"]="+a[i]); 
  9.     } 

 

该程序对数组中的每个元素赋值,然后按逆序输出。

 一维数组的初始化

对数组元素可以按照上述的例子进行赋值。也可以在定义数组的同时进行初始化。

例如:

int a[]={1,2,3,4,5};

用逗号(,)分隔数组的各个元素,系统自动为数组分配一定空间。

与C中不同,这时Java不要求数组为静态(static),其实这里的变量类似C中的指针,所以将其作为返回值给其它函数使用,仍然是有效的,在C中将局部变量返回给调用函数继续使用是初学者很容易犯的错误。

 

0 0
原创粉丝点击