七、Java数组与数组的复制

Java数组

定义:数组是用来存储数据的集合。通常情况下我们可以把数组看成一个存储具有相同类型的变量集合。
数组的特点:

  • 能够存储任意的数据类型。
  • 数组元素下标从0开始,以数组长度减1结束。
  • 一个数组不能存储不同的数据类型。
  • 数组一旦被创建,它的大小是固定的。

一、一维数组

声明的方式:
(1).元素类型[] 数组名 = new 元素类型[任意长度];
eg: int[] arr = new int[10];
(2).元素类型 数组名[] = new元素类型[任意长度];
eg: int arr[] = new int[10]; (推荐(1))
(3).元素类型[] 数组名 = {元素1,元素2, 元素···};
eg: int[] arr = {1,2,3,4};
(4).元素类型[] 数组名 = new 元素类型[]{元素1,元素2,元素···};
eg: int[] arr = new int[]{1,2,3,4};

例题:打印数组的长度
Test.java

public class Test {
	public static void main(String[] args) {
		int[] arr = new int[5];
		arr[0]=1;
		arr[1]=2;
		arr[2]=3;
		arr[3]=4;
		arr[4]=5;
		System.out.println(arr.length); //打印数组的长度
	}
}

在这里插入图片描述
运行结果:

5

例题:循环输出数组的值

public class Test {
	public static void main(String[] args) {
		int[] arr = new int[5];
        for (int i = 0; i < arr.length; i++) {
        	arr[0]=1;
        	arr[1]=2;
        	arr[2]=3;
        	arr[3]=4;
        	arr[4]=5;
        	System.out.println(arr[i]); //循环输出数组的值
		}
	}
}

运行结果:

1
2
3
4
5

错误示例:
在这里插入图片描述

二、二维数组

声明的方式:
(1).元素类型[] [] 数组名 = new 元素类型[行] [列]
eg: int [] [] arr = new int [5] [6] //定义一个五行六列的数组
(2).元素类型[] [] 数组名 = {{元素1,元素2,元素3},{元素4,元素5,元素6},{···元素n}};
eg: int [] [] arr = {{1,2,3},{4,5,6},{7,8,9}};

给二维数组赋值:
int [] [] arr = new int [2] [3];
arr [0] [0]=1;
arr [0] [1]=2;
arr [0] [2]=3;
arr [1] [0]=4;
arr [1] [1]=5;
arr [1] [2]=6;
在这里插入图片描述
warning
第一个[]中的值不能超出0-2范围外即 x>=0&&x<2。
第二个[]中的值不能超出0-3范围外即x>=0&&x<3。

错误示例:
在这里插入图片描述
例子:
Test.java

public class Test {
	public static void main(String[] args) {
		int[][] arr = new int[2][3];
		arr[0][0] = 1;
		arr[0][1] = 2;
		arr[0][2] = 3;
		arr[1][0] = 4;
		arr[1][1] = 5;
		arr[1][2] = 6;
		System.out.println("行数为:"+arr.length);
		System.out.println("列数为:"+arr[0].length);
		for (int i = 0; i < arr.length; i++) {
			for (int j = 0; j < arr[0].length; j++) {
				System.out.println(arr[i][j]);
			}
		}
	}
}

运行结果:

行数为:2
列数为:3
1
2
3
4
5
6

三、数组的复制

复制数组的三种方法:
1.使用循环语句逐个的复制数组的元素。
2.使用System类中的静态方法arraycopy。
3.使用clone方法复制数组。

eg1:
使用for循环赋值

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

eg2:

arraycopy(array1,原数组起始位置,array2,原数组起始位置,array1.length);

int[] array = {1,2,3,4,5};
int[] array2 = new int[array.length];
System.arraycopy(array, 0, array2, 0, array.length);

eg3:


int[] array = {1,2,3,4,5};
int[] array2 = array.clone();

猜你喜欢

转载自blog.csdn.net/weixin_42635052/article/details/89047875
今日推荐