数组:用于存储一组相同数据类型的数据,数组有固定长度(存储数据的个数)
数组的定义:3种方式
第1种:
数据类型【】 数组名 = new 数据类型【数组长度】;
说明:
数据类型:明确数组存储的数据类型,java中什么类型数组就只能存储什么类型数据
数组名:为数组定义的别名,命名规则和变量一致
new:关键字,创建数组的关键字
数组长度:用于明确数组可以存储多少个数据,长度一旦指定,就不能更改
【】:表示数组维数,一个表示一维数组,两个表示二维数组….
参考代码:
第2种:
数据类型[] 数组名 = new 数据类型[]{数据1,数据2,数据3,……};
参考代码:
第3种:
据类型[] 数组名 = {数据1,数据2,数据3,……};
参考代码:
提示补充:
Java中维数[]可以放在数据类型后,也可以放在数组名后,效果一致,但是建议将维数放在数据类型后(参考JDK底层代码建议)
数据类型[] 数组名 = new 数据类型[数组长度];
数据类型
数组名[] = new 数据类型[数组长度];
数组操作:
索引(index):java中每一个存储到数组的数据,都会自动拥有一个编号,编号是从0开始,到数组长度-1结 束,这个编号就是数组索引,java通过数组索引来访问数组的数据
语法:
数组名[索引]
操作数组中的数据:
Ø 变量 = 数组名[索引];//获取数组中的数据
Ø 数组名[索引] = 值;//为数组中的指定位置赋值
参考代码:
获取数组长度:
数组名.length;//返回一个int类型的值,表示数组的长度
数组遍历操作:就是将数组中的每个数据依次获取出来,遍历数组是数据操作的前提
以上方式可以将数组每个数据全部遍历出来,但是如果数组数据非常多,那么以上方式就不适用了
实际开发中一般借助for循环实现数组遍历:
以下循环:i的值就是数组的索引,从0开始,到数组长度-1结束
如果遍历数组只是单纯获取数组中的数据,那么可以特殊的foreach遍历:
语法:
for(数据类型 变量名 : 数组名){
//遍历操作
}
执行流程:计算机会从指定数组名的数组中从索引0开始,依次获取数组中的每个数据,并将数据反复赋值给定义的变量,每次赋值成功,小括号中的表达式都返回true,执行一次大括号中的遍历操作,直到数组中的数据完全获取完,没有数据能赋值给变量,这时表达式返回false,整个结构结束
数组中常见的错误(异常):
Ø 数组越界异常:ArrayIndexOutOfBoundsException
说明:创建数组时,赋值4个数据,那么数组的所有就只有0,1,2,3,没有索引4,所以不能访问数组中不存在的索引,如果访问了不存在的索引,会出现ArrayIndexOutOfBoundsException数组越界异常
Ø 数组的空指针异常:NullPointerException
Java 中null是关键字,表示空,而且是不占有物理空间(内存)的空,不占用物理空间也就是看不见,摸不着的东西
“”“
”
总结:
Java中数组存在默认值:
Int类型的数组,每个索引空间默认值为0
Double类型的数组,每个索引空间默认0.0
String类型的数组,每个索引空间默认值为null