Bootstrap

数组工具类和数组异常

目录

1. java.util.Arrays 类

2. 异常

2.1 数组角标越界异常

2.2 空指针异常


1. java.util.Arrays 类

java.util.Arrays 类是操作数组的工具类,包含了用来操作数组的的各种方法。

使用演示:

class ToolC{
    public static void main(String[] args){
        int[] a = new int[]{1,6,22,99,50,21,3};
        int[] b = new int[]{11,6,24,3,8,67,99};
//        判断两个数组是否相等
        System.out.println(Arrays.equals(a,b));
//        输出数组,带有[ ]
        System.out.println(Arrays.toString(a));
//        数组中的元素全部替换为某个数
        Arrays.fill(a,10);
        System.out.println(Arrays.toString(a));
//        对数组进行排序
        Arrays.sort(b);
        System.out.println(Arrays.toString(b));
//        二分法查找
        Arrays.sort(b);
        int dex = Arrays.binarySearch(b,6);
        System.out.println(dex);
        int dex1 = Arrays.binarySearch(b,61);
        System.out.println(dex1);//结果为负数表示没找到
    }
}
2. 异常

出现异常后,程序会自动终止运行;

2.1 数组角标越界异常

又被称为(ArrayIndexOutOfBoundsException)

//数组角标越界异常
class ExSz{
    public static void main(String[] args) {
        int[] a = new int[]{1,3,7,11,46,23};
//        for(int i = 0;i <= a.length;i++){// 这是第一种引起其异常的原因
//            System.out.println(a[i]);
//        }
        System.out.println(a[-1]);// 这是第二种引起一场的原因
    }
}
2.2 空指针异常
//空指针异常
class NullE{
    public static void main(String[] args) {
        int[] arr = new int[]{11,31,33,6,29};
//        第一种情况
//        arr = null;
//        System.out.println(arr[1]);//将null给arr,不能通过arr找寻数组地址

//        第二种情况
//        int[] a[] = new int[4][];//如此初始化,外层数组默认值为 null ,内层数组不能使用,使用会报错
//        因此在杨辉三角中, n 行 n 列: arr[i] = new int [i+1];
//        System.out.println(a[2][0]);
    }
}
;