天天看點

java基礎day7複習

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.數組的排序

java基礎day7複習

衡量排序算法的優劣:時間複雜度、空間複雜度、穩定性

排序分類:内部排序與外部排序(需要借助磁盤)

java基礎day7複習

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("未找到");

        }