Java的一维数组、二维数组及数组复制(arraycopy)

一维数组

★定义一个数组

☆方法1:

格式:

int(数组格式)[](两个方括号)  test(数组名) = new(表示初始化) int(数组格式) [(数字)例:100](表示数组里可以存放多少数据)

意思是创建新的100个存放int的数组交给test数组变量
例:定义a[10]
注意:此方法数组里的数据仓库编号是从0开始
即 a[0]、a[1]…、a[10]

☆方法2:

格式:

int(数组格式)[](两个方括号)  test(数组名) = {1,2,3,4,5,6,7,8,......(直接给出数字,不需要给出数组大小,编译器自动计算数组大小)}

意思是把这几个数字存放入test数组变量中
我们如何得知数组大小 ? length!

★给数组赋值

格式:

test(数组名)[分别各个数据仓库名]=x(各个数据仓库相对应的数据值)

意思是挨个分配各个数据值给数组里相对应的数据仓库

★调用数组

格式:

test(数组名)[数组中的第几个数据仓库]     ·······(进行运算)

意思是调用数组中的数据仓库进行运算

数组成员:length

★length作用:告诉你数组中元素(数据仓库)的数量

★length用法:

test(数组名).length

“.”点号表示要访问的是test数组中的数组成员length
★判断数组变量是否相同:
看两个数组变量是否管理着同一批数据仓库
即使int[] a={1,2,3,4,5}int[] b={1,2,3,4,5}
看似相同
但是数组变量a和b管理的并不是同一批数据仓库
所以判断a==b的时候会反馈false

★复制数组:

数组并不能简单的给另一个数组赋值
例:

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

而是要将数组内的内容逐个复制
例:

int[] a={1,2,3,4,5};
int[] b=new int[a.length];
for (int i=0 ; i<b.length ; i++)
{
     b[i]=a[i]
}

二维数组

★定义一个二维数组

☆方法1:

格式:

int(数组格式)[][](四个方括号)  test(数组名) = new(表示初始化) int(数组格式) [(数字)例:3][(数字)例:6](表示数组里可以存放几行几列的数据)

意思是创建新的3行6列的存放int的矩阵交给test数组变量

注意:此方法数组里的数据仓库编号是从0开始的

a[0][0]、a[0][1]、a[0][2]、a[0][3]、a[0][4]
a[1][0]、a[1][1]、a[1][2]、a[1][3]、a[1][4]
a[2][0]、a[2][1]、a[2][2]、a[2][3]、a[2][4]

☆方法2:

格式:

int(数组格式)[][](四个方括号)  test(数组名) = {{1,2,3,4,5,6,7,8,......(直接给出数字,不需要给出数组大小,编译器自动计算数组大小)},(逗号可以有也可以没有){1,2,3,4,5,6,7,8,......(直接给出数字,不需要给出数组大小,编译器自动计算数组大小)},(逗号可以有也可以没有)}

意思是把这个数字矩阵存放入test二维数组变量中

二维数组的遍历

for ( i=0;i<3;i++)
{
	for(j=0;j<5;j++)
	{
		a[i][j]=i*j;
	}
}

a[i][j]是一个int
表示第i行第j列上的单元
a[i.j]并不存在

二维数组的初始化

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

编译器会自动计数
每行一个{},以逗号分隔
若哪个位置省略,则该位置默认补零

数组复制

System类直接提供了一个用于数组复制的方法

System.arraycopy()

例:

 int[] src={1,2,3,4,5};
 int[] dest={6,7,8};
 System.arraycopy(src,1,dest,0,2);

复制功能: 从src数组的1位置复制2个到dest数组的0位置


你可能感兴趣的:(Java)