Java第六课_二维数组

1.二维数组

  • 增强for循环

            // 增强for循环 :   for(数据类型 元素名 : 数组/集合){}
            //  注意 : 增强的for循环中是没有索引值
            // 属于是针对数组的简介写法
            int[] a = {1,2,3};
            for (int date : a) { // 只需数据类型即可,无需[]
                System.out.print(date + ", ");
            }
            System.out.println();
    
  • 二维数组

            // 二维数组 : 当一维数组中的元素还是数组时,该数组就是二维数组
            // 声明 :
            // 1.数据类型[][]  数组名; // 开发推荐
            // 2.数据类型[]  数组名[];
            // 3.数据类型  数组名[][];
            int[][] arr1;
            // 静态初始化 :  数据类型[][]  数组名 = new 数据类型[][]{具体的元素};
            arr1 = new int[][]{};// 空数组
            int[][] arr2 = {};
            int[][] arr3 = {{12, 15}, {}, {36, 25, 14, 47}};//和一维数组一样,命名初始化一起时,可以简写.
            System.out.println(arr2);// 同样,数组本身存的还是地址值,只不过多维数组开头是[[[[....,几维就是几个[
            int[][][] arr4 = {};// 以此类推,也可以创建多维数组
            System.out.println("-------------------");
            // 二维数组元素访问 : 数组名[行索引][列索引]
            arr3[2][1] = 159;
            System.out.println(arr3[2][1]);
    
  • 二维数组的动态初始化

            // 动态初始化 :  数据类型[][]  数组名 = new 数据类型[行数][列数];
            int[][] arr1 = new int[3][5];
            for (int[] arr : arr1) {// 二维数组的增强for循环写法不变,不过要注意第一层要有[]了,多维也是以此类推
                for (int element : arr) {
                    System.out.print(element + "\t");
                }
                System.out.println();
            }
            int[][] arr2 = new int[4][];// 多维数组动态初始化时,第二个[]开始可以为空.一维数组只能静态int[]{},或者动态int[4]
            int[] arr4 = new int[]{};
            arr2[0] = new int[10];// 动态int[4]
            arr2[1] = new int[]{456};// 静态int[]{}
            for (int[] arr : arr2) {
                System.out.println(arr);// 二维数组里的默认值是null,因为数组是引用数据类型,都是null
            }
    

2.常用类

  • Arrays类

        public static void main(String[] args) {
            /*
                1.@NotNull注解.编写函数时,通过 @NotNull 数据类型 变量名 的格式,给参数加上注解.让调用函数的人知道不能传null值
                    只是注解,光标放到函数名时能看见信息,依然可以想传什么传什么
                2.Arrays : 数组的工具类
                    Arrays.sort(数组变量A),给A排序,顺序是从小到大.
             */
            String[] s = {"bfgf","asaa","csw"};
            Arrays.sort(s);
            printArray(s);
        }
    
        private static void printArray(@NotNull String[] a) {
            for (int i = 0, len = a.length; i < len; ++i) {
                System.out.println(a[i]);
            }
            return;
        }
    
posted @ 2023-12-09 19:11  张心野  阅读(35)  评论(0)    收藏  举报