Java 数组概述和定义格式说明

    技术2022-07-11  149

    数组:数组是存储同一种数据类型多个元素的集合,也可以看成是一个容器;数组既可以存储基本类型数据,也可以存储引用数据类型。

    数组的初始化:

    1、动态初始化:在内存中开辟连续几块数组长度的空间,不指定具体的值,系统默认初始化为(0),具体的值后续进行存值。

    动态初始化格式:数据类型[] 数组名 = new 数据类型[数组长度]

    int[] arr = new int[5];

    语法说明:

    int 代表的数据类型等号左边的[] 代表的数组,几个[]代表是几维数组arr:合理的标识符new:创建新的数组对象等号右侧的[] 代表的数组,里面的5代表该数组可以存储5个int类型的值

    各数据类型的默认初始化值:

    整数类型:byte、short、int、long 默认初始化值都是0浮点类型:float、double 默认初始化值都是0.0布尔类型:boolean 默认初始化值false字符类型:char 默认初始化值\u0000,每一个0其实代表的是16进制的0,那么四个0就是代表16个二进制位

    上述声明过程中发生的事:

    在我们声明了上面的代码以后,Java虚拟机会在堆中开辟一块可以存储5个int值的空间,然后在栈中创建arr(也就是数组的引用,现在简单的了解,后续会进行说明),并将arr指向堆中的这一块空间在堆中的地址,也就是在我们调用arr这个引用的时候,它会根据这个地址去堆中找到这个数组并对其进行响应的操作。上面我们创建了五个连续的空间,我们可以在数组中存储五个int类型的值,那么我们怎么找到每一块的值呢,数组中的值都有一个对应的下标(从0开始)我们这分别是0,1,2,3,4。

    2、静态初始化:一开始就给定初始化值,由系统根据具体的个数来计算数组的长度。

    静态初始化格式:数据类型[] 数组名 = new 数据类型[]{元素1,元素2,...}

    简化格式:数据类型[] 数组名 = { 元素1,元素2,... }

    int[] arr = { 1,2 };

    上面声明了一个包含int类型1、2的两个值的数组arr。

    3、操作数组:

    对数组进行赋值:(通过数组的下标进行操作)

    //声明一个长度为5的数组arr int[] arr = new int[5]; //通过下标为arr的第一个元素赋值 arr[0] = 10; //获取到arr的第一个元素并输出 System.out.println(arr[0]); //成功输出10

    如果我们输出arr会输出什么呢?

    int[] arr = new int[5]; System.out.println(arr);

    输出:[I@19bb25a

    输出说明:

    输出的是arr数组在内存中的地址信息。[:代表[]是一个数组对象,一个中括号代表一维数组I:大写的I代表int类型@:固定的值,用于分隔19bb25a:数组对象在堆中的具体(十六进制)地址,HashCode地址。
    Processed: 0.021, SQL: 9