数组的本质

178 阅读2分钟

数组

数组也是对象

定义:数组是相同类型数据的有序集合。其中,每一个元素数据称作一个元素,每一个元素可以通过一个索引(下标)来访问它们。数组的四个特点:

  1. 长度是确定的。数组一旦被创建,它的大小就是不可以改变的。
  2. 其元素的类型必须是相同类型,不允许出现混合类型。
  3. 数组类型可以是任何数据类型,包括基本类型和引用类型。
  4. 数据类型变量属于引用类型,数组也是对象,数组中的元素相当于对象的属性

创建数组和初始化

数组的声明方式(以以维数组为例)

type[]. arr_name; type. arr_name;

注意事项: 声明的时候并没有实例化任何对象,只有在实例化数组对象时,JVM才分配空间,这时才与长度有关。 声明一个数组的时候并没有数组真正被创建。 构造一个数组,必须指定长度


public class Test{
    public static void main(String args[]){
        int s;//声明数组
        s = new int [10];//给数组分配空间;
        for (int i = 0;i < 10;i++){
            s[i] = 2*i+1;//给数组元素赋值;数组是对象,数组中的元素就是对象的属性
            System.out.println(s[i]);//输出数组
        
        }
    }
}

创建引用类型数组——维数组

package com.gaobo.testshuzu;
//数组的声明和创建
public class Test01 {

    public static void main(String[] args) {
        int[] s;   //声明
        s = new int[10];//创建

        for (int i = 0;i<10;i++){//输入
            s[i] = 2*i+1;
        }

        for (int i=0;i<10;i++){//输出
            System.out.println(s[i]);
        }
        Man [] mans = new Man[10];

    }
}
package com.gaobo.testshuzu;
//创建引用类型-维数组
class Man{
    private int age;
    private int id;
    public Man(int id,int age){
        super();
        this.age = age;
        this.id = id;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }
}


public class AppMain {
    public static void main(String[] args) {
        Man[] mans;//声明引用类型数组;
        mans = new Man[10];//给引用类型数组分配空间;


        Man m1 = new Man(1, 11);
        Man m2 = new Man(2, 22);


        mans[0] = m1;//给引用类型元素赋值;
        mans[1] = m2;//给引用类型元素赋值;

        System.out.println(mans[0].getId());
        System.out.println(mans[0].getAge());
    }
}