首页 > 程序开发 > 软件开发 > Java >

浪潮优派培训java笔记:第5章 数组

2011-12-06

第5章 数组5.1 数组的定义• 数组是固定的不能扩展• 可以存储基本数据类型或对象或接口• 通过数组名和下标可以访问各元素,下标从0开始5.2 声明数组• 数组的声明包括数组名和所包含的...

第5章 数组

5.1 数组的定义

• 数组是固定的不能扩展

• 可以存储基本数据类型或对象或接口

• 通过数组名和下标可以访问各元素,下标从0开始

5.2 声明数组

• 数组的声明包括数组名和所包含的元素类型

• 声明方法: 数组类型 数组名[ ]; 或 数组类型[ ] 数组名;

例如int age[ ]; 或int [ ] age; 都可以。

5.3 创建数组

• 利用new 来为数组型变量分配内存空间

• 数组名=new 数组元素类型[元素个数];

例如age=new int[10];

必须分配内存后才能使用数组

两步可以合并,如:int age[ ]=new int[10];

5.4 数组初始化

数组的初始化:用new创建或直接静态初始化

• 一维数组:int a[]=new int[5]; // 定义并初始化

int a[]; a=new int[5]; // 先声明后初始化

int a[]={1,2,3,4}; // 静态初始化

int size=5; int a[]=new int[size];//在上面通用的基础上,用变量定义数组的长度。

int a[]=new int[5]; // 此时系统为数组a中的每一个元素都初始化为0;

double d[]=new double[5];// 此时系统为数组d中的每一个元素都初始化为0.0;

String s[]=newString[5];// s[i]=null, (0<=i<=4); s.length=5

&bull; 多维数组:Java中多维数组的声明和初始化应按从高维到低维(即从左到右)的顺序进行;

必须指定高层维数,不能在空维后定义数组维!

错误示例:int a[][][]=new int[][][]; // 高层维数未指定

int a[][][]=new int[1][][4]; //不能在空维后定义数组维

int a[][][]=new int [][][4];

正确示例:int a[][][]=new int[1][][];

int a[][][]=new int[1][4][];

int a[][][]=new int[1][4][5];

总结:定义数组时,第一维必须定义!且要从高维开始定义,空维后不能定义;

二维数组的初始化:

&bull; 在Java语言中,由于把二维数组看作是数组的数组,数组空间不是连续分配的,所以不要求二维数组每一维的大小相同。

&bull; 静态初始化 int intArray[ ][ ]={{1,2},{2,3},{3,4,5}};

&bull; 动态初始化(难点、很重要)

int a[ ][ ] = new int[2][ ];

a[0] = new int[3];

a[1] = new int[5];

5.5 数组元素的使用

通过下标访问数组元素,而不能只通过数组名访问整个数组。

注意:二维数组中:数组名.length返回的是数组的行数。数组名[行号].length返回的是该行的列数。

每个数组都有一个属性length指明数组的长度,例如arr.length指明数组arr的长度。注意length是属性不是方法!

5.6 数组的方法

数组复制

循环赋值

System.arraycopy(src,srcPos, dest, destPos, length);

System.arraycopy(原始数组, 起始索引, 目标数组, 起始索引, 复制长度);

注意:复制的长度不要超过目标串的长度。否则会发生异常。

数组拷贝示例:

public class Test {

public static void main(String[] args) {

int arrInt1[]={12,34,5,1,45};

int arrInt2[]=new int[6];

System.arraycopy(arrInt1,0, arrInt2, 1, 5);

for (int i = 0; i < arrInt2.length; i++) {

System.out.print(arrInt2[i]+" ");

}

}

}

www.2cto.com

输出结果为:0 12 34 5 1 45

在java.util.Arrays包中:数组填充Arrays.fill( )

当我们配置一个数组之后,其会依数据型态来给定默认值,例如整数数组就初始为0,您可以使用Arrays.fill()方法来将所有的元素设定为指定的值。

在java.util.Arrays包中:数组比较Arrays.equals( ):

比较两个数组中的元素值是否全部相等,如果是将传回true,否则传回false。

在java.util.Arrays包中:数组排序Arrays.sort(数组名):

这个方法可以对指定的数组排序,所使用的是快速排序法。

作者 ynz1219

相关文章
最新文章
热点推荐