一、数组的定义
数组的定义:相同数据类型的有序集合。其中的每一个数据称为一个数组的元素,每个元素可以通过下标来访问【下标从0开始】。数组也是对象
需要注意:
1、数组的长度是确定的,数组一旦被创建,其大小就不可改变
2、数组中的元素可以是任意数据类型,包括基本类型和引用类型。【但是数据类型必须相同】
3、数组本身就是对象,数组中的每个元素相当于该对象的成员变量
4、数组对象存在堆中
5、只有在实例化数组对象时,JVM才会分配空间,这时才与长度有关。
6、声明时不能指定数组元素的个数.例如:int a [5]; //错误
7、构造一个数组必须指定长度。
二、数组的声明、创建、初始化
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
//1、数组的声明
int
[] a;
int
[] b;
//2、数组的创建:直接new
a =
new
int
[
3
];
//此处new int[3]必须指定长度,假如new int[]这样写会编译不过去
//3、数组的初始化:3种方式
//3.1、默认初始化:数组是引用类型,它的元素相当于类的成员变量,因此数组分配空间后,每个元素也被按照成员变量的规则被隐士初始化
//数组的元素相当于对象的成员变量,默认值跟成员变量的初始化规则一样。比如数字:0,布尔:false,char:\u0000 ,引用类型:null
int
[] arr =
new
int
[
4
];
//1、直接这样new的话数组已经默认初始化了,
//3.2、静态初始化:在定义数字的同时就为数组元素分配空间并赋值
int
[] arr2 =
new
int
[] {
1
,
2
,
3
,
4
};
int
[] arr3 = {
1
,
2
,
3
,
4
};
//3.3、动态初始化:数组定义与为数组分配空间和赋值的操作分开进行
//静态初始化 完整写法
int
[] arr4 =
new
int
[] {
1
,
2
,
3
,
4
,
5
,
6
};
int
[] arr5 =
null
;
arr4 =
new
int
[]{
1
,
2
,
3
};
//简写 推荐 必须 声明与赋值同时进行
int
[] arr6 = {
1
,
2
,
34
,
6
};
int
[] arr7 =
null
;
//arr7 ={1,2,3,4}; //错误:简写不能与声明分开
//int[] arr8 = new int[5] {1,2,3,4,5,6};//错误:指定了长度
int
[] arr9 =
null
;
arr9 =
new
int
[
6
];
arr[
9
] =
1
;
//循环动态初始化
int
[] arr10 =
new
int
[
3
];
for
(
int
i=
0
;i<arr10.length; i++ ) {
arr10[i] = i;
}
|