数组的概念

109 阅读2分钟

数组(Array),是多个相同类型数据按一定顺序排列的集合,使用一个名字命名,并通过编号的方式对这些数据进行统一管理。

数组的常用概念

  • 数组名
  • 下标(或索引)
  • 元素
  • 数组长度

数组的特点:数组是有序排列的

数组是属于引用数据类型的变量,但是数组中的元素既可以是引用数据类型也可以是基本数据类型。

创建数组对象会在内存中开辟一整块连续的空间,而数组名中引用的是这块连续空间的首地址。 (不连续的空间 比如链表)

数组的长度一旦确实,就不能修改(因为开辟的空间已经设定好,并且是有限的),如果需要更大的空间需要新建数组。

我们可以直接通过下标(或索引)的范式调用指定位置的元素,速度很快。

数组的分类

  • 按照维度: 一维数组、二维数组、三维数组.....
  • 按照元素的数据类型分: 基本数据类型元素的数组、引用数据类型元素的数组(对象数组)

一维数组

public class MyProgram {
    /*
    * 1 以为数组的声明和初始化
    * 2 如何调用数组的指定位置的元素
    * 3 如何获取数组的长度
    * 4 如何遍历数组
    * 5 数组元素的默认初始化值
    * 6 数组的内存解析
    */
    public static void main(String[] args) {
        // 1 一维数组的声明和初始化
        int num ; //声明
        num = 10 ; //初始化
        int id = 1001 ; //声明+ 初始化

        int[] ids ; //声明
        //1.1 静态初始化:数组的初始化和数组元素的赋值操作同时进行
        ids = new int[]{1001,1002,1003};
        //1.2 动态初始化:数组的初始化和数组元素的赋值操作分开进行
        String[] names = new String[5];

        //总结: 数组一旦初始化完成,其长度就确定了。
        
       

       //2 如何获取数组的长度
       //属性:length
       System.out.println(names.length);

    }
}

数组元素的默认初始化值(跟属性的默认初始化值一致)

  • 数组元素是整形:0
  • 数组浮点型:0.0
  • 数组元素是char型:0或'\u0000'
  • 数组元素是boolean型:false
  • 数组原始引用数据类型:null
内存的简化结构

image.png

首地址值(第一个元素的地址值 是16进制的)

image.png