1.复制数组
赋值操作 array2 = array1;//不会新开辟空间,二者地址相同
使用new会为数组开辟新的空间
2.数组中常见的异常有哪些
① 数组下标越界:ArrayExceptionOutOfBoundsException
//1.数组角标越界的异常
int[] arr = new int[]{1,2,3,4,5};
for(int i = 0;i <= arr.length;i++){
System.out.println(arr[i]);//越界
}
② 空指针异常:NullPointerException
//2.空指针异常
int[] arr1 = new int[]{1,2,3};
arr1 = null;
System.out .println(arr1[0]);
//情况二
int[][] arr2 = new int[4][];
System.out.println(arr2[0]);//null
System.out.println(arr2[0][0]);//空指针异常
//情况三
String[] arr3 = new String[]{"aa","bb"};
arr3[0] = null;
System.out.println(arr3[0].toString());
3.数组的创建与元素赋值
杨辉三角(二维数组)、回形数(二维数组)、随机生成数给数组赋值
4.针对数值型数组
求数组元素最大值、最小值、总和、平均数
5.数组的赋值和赋值(见1)
① array2 = array1;//将array1保存的数组的地址赋给array2,二者指向堆空间中同一个实体
② array2 = new int[array1.length];//通过new的方式,给array2在堆空间中新开辟了数组的空间,讲array1中的元素复制给array2
for(int i = 0;i < array1.length;i++){
array2[i] = array[1];
}
6.数组中指定元素的查找:搜索、检索
① 线性查找:
实现思路:通过遍历方式,逐个查找
适用性:具有普遍适用性
② 二分查找
实现思路:每次比较中间值,折半方式搜索
适用性:前提要求数组有序
7.数组的排序

衡量排序算法的优劣:时间复杂度、空间复杂度、稳定性
排序分类:内部排序与外部排序(需要借助磁盘)
8.Arrays工具类
① 定义在 java.uitl包下
② Arrays提供了很多操作数组的方法,部分方法的使用:
int[] arr1 = new int[]{1,2,3,4};
int[] arr2 = new int[]{1,3,2,4};
//判断两个数组是否相等
boolean flag = Arrays.equals(arr1,arr2);
System.out.println(flag);
//输出数组信息
System.out.println(Arrays.toString(arr1));
//将指定值填充到数组之中
Arrays.fill(arr1, 3);
System.out.println(Arrays.toString(arr1));
//对数组进行排序
Arrays.sort(arr2);
System.out.println(Arrays.toString(arr2));;
//二分查找
int index = Arrays.binarySearch(arr2, 5);
if(index >= 0){
System.out.println(index);
}else{
System.out.println("未找到");
}