第四天
1.数组
数组:储存一组相同数据类型的数据的容器
数组一旦确定了大小就不会改变了
数组名字中存储的是地址![]()
数组每个元素都有默认值:整数:0,小数0.0,字符'a',布尔:false
引用类型变量:变量中储存的不是数据是地址.两个引用指向同一个数组,一个引用修改,另一个引用取出的是修改后的数据
1.1数组的初始化
动态初始化适用于知道元素个数,静态初始化适用于知道元素数据
动态初始化
素数据类型[] 数组名 = new 元素数据类型[元素的个数];
![]()
静态初始化
元素数据类型[] 数组名 = new 元素数据类型[]{元素值得罗列};
![]()
静态初始化简化形式
![]()

![]()
访问数组元素的值: 数组名[索引];
索引 别名: 下标, 角标, 脚标. 索引值得范围: 从0开始到元素个数-1;
1.2数组遍历
穷举法 for循环遍历
穷举法:通过索引一一进行列举
for循环遍历:
for(int i = 0; i < 数组名.length; i++){
System.out.println(数组名[i]);}
数组元素个数: 数组名.length
1.2数组最值
"擂台思想"

1.3数组查询
查找某个元素在该数组中的索引,相同的元素只找第一个

1.4数组反转

数组的异常
数组索引越界异常 空指针异常
数组索引异常
产生的原因:访问元素值时,索引超出数组个数长度
避免产生异常的方法:传入索引时提前进行判断
if(索引 >= 0 && 索引 < 数组长度){
}
空指针异常
产生的原因:当一个引用不指向堆区任意数据时,仍然使用该引用操作数据
避免产生异常的方法:进行非空判断
if(引用 != null){
使用引用}
2.二维数组
每个元素都是一个一维数组
每个元素储存的都是一维数组的地址
2.1二维数组的初始化
动态初始化
![]()
int[][] arr = new int[一维数组个数]{每个一维数组的个数};
第二个中括号中长度可以不给.
静态初始化
![]()
二维数组管理的小数组个数: 二维数组名.length;
获取指定索引的小数组: 二维数组名[索引];
获取指定位置元素: 二维数组名[索引1][索引2];
2.2二维数组的遍历
外层循环是一维数组,二层循环是一维数组的元素

4621

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



