Java中的数组是引用数据类型,长度为length。 数组下标从0开始。
数组三大特性:
- 一致性:数组只能保存相同数据类型元素,元
素的数据类型可以是任何相同的数据类型。 - 有序性:数组中的元素是有序的,通过下标访
问。 - 不可变性:数组一旦初始化,则长度(数组中
元素的个数)不可变。
数组包括:一维数组和多维数组
1 一维数组
引用数据类型在使用之前需要声明和初始化。
1.1数组声明
数组声明:
数组数据类型[] 数组变量名; ——推荐第一种
数组数据类型 数组变量名[];
int[] intFirst;
1.2 数组初始化
数组初始化可以分为 静态初始化和动态初始化
1.2.1 静态初始化
静态初始化就是将数组的元素放到大括号中,元素之间用逗号(,)分隔。静态初始化是在已知数组的每一个元素内容情况下使用的。
int[] intFirst;
intFirst = {1,2,3,4,5};
int[] intArray = {1,2,3,4,5};
1.2.2 动态初始化
当不知道元素的内容时,采用此方法。
使用new运算符分配指定长度的内存空间.
语法如下:
new 元素数据类型[数组长度];
int[] intFirst = new int[5]; //分配空间长度为5
或者
int[] intFirst;
intFirst = new int[5];
intFirst[0] = 1;
intFirst[1] = 2;
注意:
new分配数组内存空间后,数组中的元素使用的是数组数据类型的默认值。
数据类型默认值如下:
基本类型 | 默认值 |
---|---|
byte | 0 |
short | 0 |
int | 0 |
long | 0L |
float | 0.0F |
double | 0.0d |
char | ‘\u0000’ |
boolean | false |
引用 | null |
案例:数组合并
实现代码:
public class HelloWorld {
public static void main(String[] args) {
// 两个待合并数组
int array1[] = { 20, 10, 50, 40, 30 };
int array2[] = { 1, 2, 3 };
// 动态初始化数组,设置数组的长度是array1和array2长度之和
int array[] = new int[array1.length + array2.length];
// 循环添加数组内容
for (int i = 0; i < array.length; i++) {
if (i < array1.length) { ①
array[i] = array1[i]; ②
} else {
array[i] = array2[i - array1.length]; ③
}
}
System.out.println("合并后:");
for (int element : array) {
System.out.printf("%d ", element);
}
}
}
2 多维数组
数组声明
元素数据类型[][] 数组变量名;
元素数据类型 数组变量名[][];
元素数据类型 数组变量名[];
2.1静态初始化
int[][] intArray = {{1,2,3},{4,5,6},{7,8,9},{10,11,12}};
//定义的是4X3数组
2.3 动态初始化
new 元素数据类型[][];
int[][] intArray = new int[4][3];//定义4行3列的二维数组