数组

一维数组

定义

数组是由一组具有相同数据类型的数据组成有序集合。

{1,2,3,4,5,6}

数组的元素:即指数组内每一个组成部分,例如{1,2,3,4,5,6}的元素为:1,2,3,4,5,6这六个元素。

数组的长度:即指数组内元素的个数,可以用length方法求解。例如{1,2,3,4,5,6}的元素个数为6,那么数组长度就为6,用length方法求解为:数组名.length=6;

元素的下标:表示元素在数组中的位置,从0开始计数。例如上例,元素1的下标为0;元素2的下标为1.....元素6 的下标为数组长度减1.

下标越界异常:

		int []as={1,2,3,4,5,6};
		as[6]=7;
/**
 * Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 6
	at cn.lhb.java.arrayText.main(arrayText.java:11)
 */
数组as只有6个元素,下标分别为:0,1,2,3,4,5。as[6]=7,给数组下标为6的位置赋值,超出了数组范围报错。

声明:

数组类型 [] 数组名
int [] as;
数组类型 数组名 []
int as [];

初始化:

1:静态初始化:
数组类型 [] 数组名={数据参数};
数组类型 数组名 []={数据参数};
int []bs={1,2,3,4};int as []={1,2,3,4};
特点:操作简单,不够灵活。
2:动态初始化1:
数组类型 [] 数组名=new 数组类型[数组长度];
数组类型 数组名[]=new 数组类型[数组长度];
int []as=new int[5];int bs[]=new int[5];
特点:操作复杂,较为灵活。
3:动态初始化2:
数组类型 [] 数组名=new 数组类型[]{元素};
数组类型 数组名[]=new 数组类型[]{元素};
int []as=new int[]{1,2,3,4,5};
int bs[]=new int[]{1,2,3,4,5};

数组赋值:

数组赋值通过元素下标一一对应赋值。
		int []as=new int[2];
		as[0]=32;
		as[1]=25;

数组的遍历:

数组的遍历是指将数组内的元素都调用一次。
		int []as=new int[2];
		for(int i=0;i<as.length;i++){
			
		}
因为数组的遍历是下标0至下标数组长度减1都会遍历一次,所以遍历可以用来给数组赋值,复制数组以及输出数组等等作用。
例如:
//数组as有100个元素,其中的元素为101-200的有序排列。对as赋值就可以用遍历的思想:
		int []as=new int[100];
		for(int i=0;i<as.length;i++){
			as[i]=100+i;
		}
//数组as有10个元素,数组bs也有10个元素,将数组as赋值给数组bs:
		int []as={1,2,3,4,5,6,7,8,9,10};
		int []bs=new int[10];
		for(int i=0;i<as.length;i++){
			as[i]=bs[i];
		}
//数组as有10个元素,将数组as分别输出在控制台:
		int []as={1,2,3,4,5,6,7,8,9,10};
		for(int i=0;i<as.length;i++){
			System.out.print(as[i]);
		}

数组的复制:

1遍历复制:

详见数组的遍历
数组as有10个元素,数组bs也有10个元素,将数组as赋值给数组bs:
<h3>2调用方法复制:</h3>在JVAV系统中有一个复制数组的方法:
System.arraycopy(src, srcPos, dest, destPos, length);
src - 源数组。
srcPos - 源数组中的起始位置。
dest - 目标数组。
destPos - 目标数据中的起始位置。
length - 要复制的数组元素的数量。
例如:

	int []as={1,2,3,4,5,6,7,8,9,10};//目标数组as
		int[]bs=new int[5];//接受数组bs
		//将as下标为1的元素复制给bs下标为0的元素,并依次开始复制,一共复制4个元素
		System.arraycopy(as,1, bs, 0, 4);
		//遍历输出
		for (int i=0;i<bs.length;i++){
			System.out.print(bs[i]+"\t");
		}

多维数组

在JAVA中,数组的元素可以是任何已存在的类型(包括数组)。因此,一个一维数组又可以作为另一个一维数组的元素。这里我们介绍下多维数组中的二维数组。

声明:

数组类型 [][] 数组名
int [3][4] as;
数组类型 数组名 [][]
int as [3][4];

其意义是:as引用了一个其元素类型为int[4]的数组,a的长度是3。

 或者说,数组as有3个元素,每个元素都是一个长度为4的一维整型数组。

二维数组的初始化

类型名[][]  数组名={{初值n1, …初值nm},{…},…};
例如:
		int as [][]={
					 {1,2,3},
					 {3,4,5},
					 {5,6,7},
					 {7,8,9}
					 };
as[i]是数组a中第i个一维数组的数组名;而  as[i][j]是数组a中第i个一维数组中的第j个元素的变量名;



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值