1.概述
- 数组是存储同一种数据类型多个元素的集合,即一个容器
- 既可以存储基本数据类型,也可以存储引用数据类型
2.初始化
为数组开辟连续的内存空间,并为每个数组元素赋予值
2.1.如何初始化
- 动态初始化
只指定长度,由系统给出初始化值
int[] arr = new int[5] //在内存中开辟连续的五块空间
- 静态初始化
给出初始化值,由系统决定长度
int[] arr = {11,22,33,44};
System.out.println(arr[0]); // 11
System.out.println(arr); //[I@1b6d3586
[ 代表数组,有几个就是几维数组
I 代表int类型
@ 是固定的
1b6d3586 十六进制的地址值
3.内存
- 栈,存储局部变量,即定义在方法声明上和方法中的变量,先进后出
- 堆,存储 new 出来的数组或对象
- 方法区,
- 寄存器,中央处理器内的组成部分,可用来暂存指令、数据和地址。
4.异常
- 数组越界
ArrayIndexOutOfBoundsException,原因:访问了不存在的索引
int[] arr = {11,22,33,44};
System.out.println(arr[4]); //java.lang.ArrayIndexOutOfBoundsException
- 空指针异常
NullPointerException,原因:数组已不再指向堆内存了,而你还用数组名去访问元素
int[] arr = {11,22,33,44};
arr = null;
System.out.println(arr[4]); // java.lang.NullPointerException
5.数组的遍历
- 依次输出数组中的每一个元素
public static void main(String[] args) {
int[] arr = {11,22,33,44};
print(arr);
}
public static void print(int[] arr){
for(int i = 0;i < arr.length;i ++){ // 数组的最大索引--arr.length
System.out.println(arr[i]);
}
}
1279

被折叠的 条评论
为什么被折叠?



