数组的相关操作(Java)
·

数组的定义
数组可以看成是相同元素类型的一个集合,在内存是一段连续的空间
数组是引用类型,数组的引用变量(数组名)存储在栈上,而数组对象(包含其所有元素)作为一个整体存储在堆上
要想理解这个知识⬆️,先得理解下栈和堆的定义~⬇️

对于上述概念,图片如下⬇️

一维数组的创建与初始化
数组的创建
T[] 数组名 = new T[N];
//T是数组中存放元素的类型
//T[] 表示数组的类型
//N 表示数组的长度
int[] arr1 = new int[10];
//创建了大小为10的整形数组
double[] arr2 = new double[10];
//创建了大小为10的double类型数组
long[] arr3 = new long[10];
数组的初始化
数组的初始化分为动态初始化和静态初始化
动态初始化
在初始化的时候,直接指定数组的元素个数
int[] arr = new int[10];
静态初始化
在初始化的时候,不指定数组的元素个数
// 静态初始化
int[] arr = {1,2,3,4,5,6};
// 也可以这样写
int[] arr4= new int[]{1,2,3,4};
如果数组没有被初始化,则会有默认值
int[] arr1 = new int[10];
double[] arr2 = new double[10];
String[] arr3 = new String[10];
System.out.println(Arrays.toString(arr1));
System.out.println(Arrays.toString(arr2));
System.out.println(Arrays.toString(arr3));
执行结果

具体是下列表格

数组的遍历
第一种方式
int[] arr = {1,2,3,4,5,6};
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i]+" ");
}
System.out.println();
第二种方式
int[] arr = {1,2,3,4,5,6};
for(int x : arr){
System.out.print(x+" ");
System.out.println();
}
数值中的相关的操作
Arrays.toString()
这个是用来打印数组的
int[] arr = {1,2,3,4,5,6};
Arrays.toString(arr);
输出结果

如果直接打印数组名会出现什么样的结果

为什么呢?⬇️
因为数组名是引用类型,数组名是以地址的形式存储在栈上。⬆️
Arrays.fill()
这个是用来填充数组的⬆️
int[] arr1 = new int[10];
Arrays.fill(arr1,6);
System.out.println(Arrays.toString(arr1));
输出结果

Arrays.sort()
int[] array = {6,2,3,9,5,4};
// 默认是升序
Arrays.sort(array);
System.out.println(Arrays.toString(array));

Arrays.copyof()
int[] array = {6,2,3,9,5,4};
int[] newArray = Arrays.copyOf(array, array.length);
System.out.println(Arrays.toString(newArray));
实参的要求⬇️

运行结果

Arrays.copyofRange()
int[] array = {6,2,3,9,5,4};
int[] newArray = Arrays.copyOfRange(array, 0, 3);
System.out.println(Arrays.toString(newArray));

执行结果以及解释⬇️

二维数组的创建与初始化
数组的创建
int[][] array = new int[3][3];
double[][] array1 = new double[3][3];
数组的初始化
// 动态初始化
double[][] array1 = new double[3][3];
// 静态初始化
int[][] array2 = {{1,2,3},{1,4,5}};
二维数组的遍历
int[][] array2 = {{1,2,3},{1,4,5,6},{6,2}};
for (int i = 0; i <array2.length ; i++) {
for (int j = 0; j < array2[i].length; j++) {
System.out.print(array2[i][j]+" ");
}
System.out.println();
}
运行结果

解释


更多推荐

所有评论(0)