第四天 一维数组和二维数组

                                                     第四天

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张图片

1.3数组查询

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

第四天 一维数组和二维数组_第2张图片

1.4数组反转

第四天 一维数组和二维数组_第3张图片

数组的异常

数组索引越界异常       空指针异常 

数组索引异常

产生的原因:访问元素值时,索引超出数组个数长度

避免产生异常的方法:传入索引时提前进行判断

if(索引 >= 0 && 索引 < 数组长度){  

}

空指针异常

产生的原因:当一个引用不指向堆区任意数据时,仍然使用该引用操作数据

避免产生异常的方法:进行非空判断

if(引用 != null){

 使用引用}

2.二维数组

每个元素都是一个一维数组

每个元素储存的都是一维数组的地址

2.1二维数组的初始化

动态初始化

int[][] arr = new int[一维数组个数]{每个一维数组的个数};

第二个中括号中长度可以不给.

静态初始化

二维数组管理的小数组个数:   二维数组名.length;

获取指定索引的小数组:   二维数组名[索引];

获取指定位置元素: 二维数组名[索引1][索引2];

2.2二维数组的遍历

外层循环是一维数组,二层循环是一维数组的元素

第四天 一维数组和二维数组_第4张图片

你可能感兴趣的:(第四天 一维数组和二维数组)