CJB Java程序员 Day7
存储一组数据类型相同的数据
名词
下标:
长度:
数组中可容纳的数据个数
元素:
数组中容纳的数据
特点
数组长度,不可变
(可扩容)
步骤
1,声明
2,创建
3,使用
声明
语法:
数据类型[] 数组名;
或
数据类型 数组名[];(不建议使用)
创建
动态
语法:
数组名 = new 数据类型[数组长度];
注意:基本数据类型默认为0(布尔型为false),引用数据类型默认为null(空)
或
数组名 = new 数据类型[]{值1,值2,值3...};
注意:创建时,值的个数就是数组的长度
声明并创建:
数据类型 [] 数组名 = new 数据类型 [数组长度]
数据类型 [] 数组名 = new 数据类型 []{值1,值2,值3...};
静态
语法:必须声明与创建同时进行
数据类型[] 数组名 = {值1,值2,值3...};
使用
修改
语法:
数组名[下标] = 值
查询
获取单个元素
语法:数组名[下标]
获取数组长度
语法:数组名.length
进阶使用
遍历
作用:将数组中的数据逐个取出
查找
拷贝
作用:将老数组中的数据赋复制到新数组中
思路:
1,创建一个新数组,要求新数组的长度等于老数组
2,遍历老数组
3,将老数组中取出的值放在新数组对应的位置
扩容
作用:将老数组中的数据复制到新数组中,要求:新数组的长度大于老数组,将新数组赋值给老数组
思路:
1,创建一个新数组,要求新数组的长度大于老数组的长度
2,遍历老数组
3,将老数组中取出的值放在新数组对应的位置
4,4,将新数组赋值给老数组
常见异常
ArrayIndexOutofBoundsException:数组下标越界异常
原因:获取或修改数组中数据时,下标超出下标的取值范围
下标取值范围:0~数组长度-1
NullPointerException:空指针异常
原因:使用null调用了属性或方法
解决办法:找出null的位置并修改
增强for循环:foreach
语法:
for(数据类型 变量名:要遍历的数组或集合){
}
数据类型:取出的数据的数据类型
变量名:获取到的数据
了解
new:在堆内存中开辟一片内存地址
可变参数:
解决的问题:形参数量固定的问题
要求:一个方法只能用一个可变参数,而且只能位于于形参的尾部
语法:数据类型...变量名