【Java技术学习001】Java数组初始化的两种方式

60 阅读2分钟

Java数组是静态的

重点:在使用Java数组之前,必须要对数组进行初始化,分配合适的空间。

当数组被初始化之后,该数组所占的内存空间、数组长度都是不可变的

初始化包含两种类型:静态初始化与动态初始化

静态初始化

静态初始化是由程序员指定每个数组元素的初始值,由系统来确定数组的长度。例如以下代码描述了静态初始化的过程

String[] array1 = new String[]{
        "关羽",
        "张飞",
        "马超",
        "赵云",
        "黄忠",
};

除此之外,静态初始化还有如下简单的形式:

String array2[] = {
        "孙权",
        "孙策",
        "甘宁",
        "周瑜",
        "黄盖",
        "孙尚香"
};

经过代码运行,计算数组array1与array2的长度:

array1的长度是5

array2的长度是6

由此可知:数组的静态初始化,程序员只需指定数组的元素即可,数据的长度由系统根据数据的元素数量决定,例如array1数组,程序员指定了“关羽”、“张飞”、“马超”、“赵云”、“黄忠”五个元素,则数组的长度即为5。

动态初始化

与静态初始化不同,Java数组的动态初始化只需指定数组的长度即可,系统将会为每个动态分配的数组元素赋初始值,各个数据类型元素的初始值如下:

数据类型初始值数据类型初始值
int0char'\u0000'
byte0booleanfalse
short0null
long0接口null
float0.0数组null
double0.0

例如,我们使用动态初始化定义一个字符串数组array3,计算array3的值

String[] array3 = new String[5];
System.out.println(Arrays.toString(array3));
System.out.println("Array3的长度:"+array3.length);

经过运行,我们可以得知,array3的值为[null, null, null, null, null],array3的长度为5,这说明系统定义了一个长度为5的数组,数组中每个元素的初始值为null。