Java数组学习

73 阅读2分钟

Java数组学习

​ Java数组内容的基本知识

静态数组的初始化

int代表的是类型 arr 是数组的名字 {} 里面是数组的内容

 int[] arr = {1, 2, 3, 4, 5};

可以通过索引的方式进行获取

//      获取数组的第一个元素
        int number = arr[0];
        System.out.println(number
 //  通过索引获取数组内元素
        System.out.println(arr[1]);

如果数组内的第一个元素被覆盖,那么打印出来的结果也就是覆盖后的结果

//        一旦被覆盖,最开始的元素就被替换掉了
        arr[0]=151;
        System.out.println(arr[0]); //  151

这里也可以通过for循环的方式进行获取数组里面的内容,其实以上的操作和js没有差太多,只是初始化的时候不一样罢了

通过fori可以快速创建for循环

//        定义数组
        int[] arr = {1, 2, 3, 4, 5, 6};
//        获取数组内所有元素
        for (int i = 0; i < arr.length; i++) {
            System.out.println(arr[i]);
        }
//        快速生成for循环 fori

    }

案例1

​ 根据以下数组,找出是3的倍数的数,分别是哪几个,并且有几个数

 int[] arr = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
//     初始化记录次数
        int number = 0;
        for (int i = 0; i < arr.length; i++) {
            if (arr[i] % 3 == 0) {
//             如果条件满足一次,那么number就递增一次,打印一遍数组内当前满足的元素
                number++;
                System.out.print(arr[i]);
            }
        }
//        打印一个空格
        System.out.println();
//        打印次数
        System.out.println(number);

案例2

​ 根据以下数组,找出数组内最大的元素

int[] arr = {33, 5, 22, 44, 55};

​ 这里说下,为什么for循环里面的i是从1开始,而不是从0开始,因为max默认就是数组内的第一个数,就没有必要自己和自己再次比较。之前从数组内第二个元素开始比较就好了,这里为什么不直接写0,然后依次进行比较,因为如果数组内所有的元素都是负数,那么就是你自己定义的max最大了,就没有真正去比出数组内最大的元素。

//        默认数组内第一个元素是最大的
//        max这里初始化的值是数组内第一个元素,其实就是拿到第一个元素进行逐个进行比较
        int max = arr[0];
//        循环结束后取出最大值
        for (int i = 1; i < arr.length; i++) {
            if (max < arr[i]) {
                max = arr[i];
            }
        }
        System.out.println(max);

动态数组初始化

​ 格式: ​ 数据类型[] 数组名 = new 数据类型[数组的长度]

//        动态初始化
        String[] arr = new String[5];
//        添加学生
        arr[0] = "文字";
//        添加学生2
        arr[1] = "小赵";
        System.out.println(arr[1]); //  小赵
        System.out.println(arr[2]); // null
//       打印出数组内所有内容
        System.out.println(Arrays.toString(arr));  //  [文字, 小赵, null, null, null]

        int[] arrs = new int[5];
        System.out.println(arrs[1]); // 0
        System.out.println(arrs[1]);//  0
        System.out.println(arrs[1]);//  0
//      arrs[6] = 23;
//     这里的长度最长就是5 如果写6 就会抛出异常 ArrayIndexOutOfBoundsException 数组角标出现异常

引用类型初始化.png