目录
ArrayIndexOutOfBoundsException: 数组越界异常
第一周笔记-4
数组
- 用来存储同一个数据类型多个元素的一个容器(数组长度是固定的,数组中存储的元素的数据类型要求一致)
-
格式:
格式1:
数据类型[] 数组名 = new 数据类型[数组长度];
格式2:
数据类型[] 数组名 = new 数据类型[]{元素值1,元素值2,..};
格式3:
数据类型[] 数组名 = {元素值1,元素值2,..};
数组变量名中存储的是数组在内存中的地址,数组是引用类型。
初始化
静态初始化数组
静态初始化数组的格式:
完整格式:数据类型 [] 数组名 = new 数据类型 []{ 元素 1 ,元素 2 ,元素 3… };double [] scores = new double []{ 89.9 , 99.5 , 59.5, 88.0 };int [] ages = new int []{ 12, 24, 36 }简化格式:数据类型 [] 数组名 = { 元素 1 ,元素 2 ,元素 3 , … };int [] ages = { 12 , 24 , 36 };
元素默认值
数据类型 | 默认初始化值 |
byte、short、int、long | 0 |
float、double | 0.0 |
char | 一个空字符(空格),即’\u0000’ |
boolean | false |
引用数据类型 | null,表示变量不引用任何对象 |
数组的动态初始化
数组的动态初始化格式:
数组的访问数组名称[索引]
动态初始化:只 指定数组 长度,后期赋值 ,适合开始知道数据的数量,但是不确定具体元素值的业务场景。静态初始化:开始就存入 元素值 ,适合一开始就能确定元素值的业务场景。
数组操作的常见问题:
NullPointerException: 空指针异常
在使用变量引用一个数组时,变量必须指向一个有效的数组对象,如果该变量的值为null,则意味着没有指向任何数组,此时通过该变量访问数组的元素会出现空指针异常
ArrayIndexOutOfBoundsException: 数组越界异常
每个数组的索引都有一个范围,即0~length-1。在访问数组的元素时,索引不能超出这个范围,否则程序会报错
-
二维数组:
- 包含多个一维数组的数组
- 特点:二维数组中的每个元素都是一个一维数组
- 格式:
格式1:
数据类型[][] 数组名 = new 数据类型[m][n];
m: 代表二维数组中一维数组的个数
n: 代表每个一维数组中元素的个数
格式2:
数据类型[][] 数组名 = new 数据类型[m][];
m: 代表二维数组中一维数组的个数
每一个一维数组通过赋值来确定数组长度
格式3:
数据类型[][] 数组名 = {{元素值1,元素值2,..},{元素值1,元素值2,..},..};