数组的理解和数组的声明和初始化

数组的理解和数组的声明和初始化

数组是一种数据类型,它是由多个相同类型的元素组成的集合。

数组的定义

int a;        // 声明一个整型变量 a
int[] a;      // 声明一个整型数组变量 a
double[] d;   // 声明一个 double 型数组
char[] c;     // 声明一个 char 型数组
boolean[] b;  // 声明一个 boolean 型数组Code language: JavaScript (javascript)

数组的初始化

数组不能像普通变量那样直接赋值,需要使用 new 关键字来分配空间:

int[] a = new int[10];Code language: JavaScript (javascript)

上述代码声明了一个整型数组 a,可以存放 10 个元素,每个元素的默认值为 0。

数组类型默认值
int0
double0.0
booleanfalse
引用类型(如 String)null

数组初始化的三种方式

方式一:使用 new 指定长度,元素取默认值

int[] arr = new int[5]; // arr = [0, 0, 0, 0, 0]Code language: JavaScript (javascript)

方式二:声明时直接赋初值

int[] arr = {1, 2, 3};

方式三:使用 new 配合初值列表

int[] arr = new int[]{1, 2, 3};Code language: JavaScript (javascript)

常见错误

不能将数组初值列表分开赋值:

int[] arr;
arr = {1, 2, 3}; // 编译错误!不允许分开写Code language: JavaScript (javascript)

正确写法:

int[] arr;
arr = new int[]{1, 2, 3}; // 正确Code language: JavaScript (javascript)

访问数组元素

数组元素通过下标(索引)访问,下标从 0 开始:

int[] arr = {10, 20, 30, 40, 50};
System.out.println(arr[0]); // 输出 10
System.out.println(arr[3]); // 输出 40

arr[1] = 99; // 修改第二个元素
System.out.println(arr[1]); // 输出 99Code language: JavaScript (javascript)

数组长度

通过 .length 属性获取数组长度:

int[] arr = {1, 2, 3, 4, 5};
System.out.println(arr.length); // 输出 5Code language: JavaScript (javascript)

遍历数组

int[] arr = {1, 2, 3, 4, 5};
for (int i = 0; i < arr.length; i++) {
    System.out.println(arr[i]);
}

或使用增强型 for 循环(foreach):

for (int element : arr) {
    System.out.println(element);
}

注意事项

要点说明
下标从 0 开始长度为 n 的数组,下标范围是 0 到 n-1
越界异常访问 arr[n] 会抛出 ArrayIndexOutOfBoundsException
长度固定数组一旦创建,长度不可改变
类型一致所有元素必须是同一类型

注意:数组是引用类型,数组变量存储的是数组对象在内存中的地址。多个数组变量可以指向同一个数组对象。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注