一维数组的使用(二)

发布时间 2023-03-26 16:57:58作者: 晓枫的春天

数组的长度

数组的元素总个数,即数组的长度。每个数组都有一个属性length指明它的长度,例如:arr.length 指明数组arr的长度(即元素个数);每个数组都具有长度,而且一旦初始化,其长度就是确定,且是不可变的。

数组元素的引用

如何表示数组中的一个元素?

每一个存储到数组的元素,都会自动的拥有一个编号,从0开始,这个自动编号称为数组索引(index)或下标,可以通过数组的索引/下标访问到数组中的元素。

数组名[索引/下标]

如何表示数组中的一个元素?

每一个存储到数组的元素,都会自动的拥有一个编号,从0开始,这个自动编号称为数组索引(index)或下标,可以通过数组的索引/下标访问到数组中的元素。

数组名[索引/下标]

        int[] arr = {1, 2, 3, 4, 5};
        System.out.println("arr 数组的长度是 " + arr.length);

        System.out.println("arr 数组第 1 个元素是  " + arr[0]);//数组索引第一位是 0
        System.out.println("arr 数组第 2 个元素是  " + arr[1]);
        System.out.println("arr 数组第 3 个元素是  " + arr[2]);
        System.out.println("arr 数组第 4 个元素是  " + arr[3]);
        System.out.println("arr 数组第 5 个元素是  " + arr[4]);

        //对 arr[0] 重新赋值
        arr[0] = 8;
        System.out.println("arr 数组第 1 个元素是  " + arr[0]);

一维数组的遍历

将数组中的每个元素分别获取出来,就是遍历。for循环与数组的遍历是绝配

        int[] arr = {1, 2, 3, 4, 5};
        System.out.println("arr 数组的长度是 " + arr.length + "\n数组的元素有:");
        //for 遍历数组方式1
        for (int i : arr) {
            System.out.println(i);
        }
        System.out.println("------------------------------");
        //for 遍历数组方式2
        for (int i = 0; i < arr.length; i++) {
            System.out.println(i);
        }
    }

数组元素的默认值

数组是引用类型,当我们使用动态初始化方式创建数组时,元素值只是默认值。例如

        int a[]= new int[5];
        System.out.println(a[3]); //a[3]的默认值为0

输出 0

对于基本数据类型而言,默认初始化值各有不同。

对于引用数据类型而言,默认初始化值为null(注意与0不同!)

 public static void main(String[] args) {
        //存储26个字母
        char[] letters = new char[26];
        System.out.println("letters数组的长度:" + letters.length);
        System.out.print("存储字母到letters数组之前:[");
        for (int i = 0; i < letters.length; i++) {
            if(i==0){
                System.out.print(letters[i]);
            }else{
                System.out.print("," + letters[i]);
            }
        }
        System.out.println("]");

       //存储5个姓名
        String[] names = new String[5];
        System.out.println("names数组的长度:" + names.length);
        System.out.print("存储姓名到names数组之前:[");
        for (int i = 0; i < names.length; i++) {
            if(i==0){
                System.out.print(names[i]);
            }else{
                System.out.print("," + names[i]);
            }
        }
        System.out.println("]");
    }