数组的介绍
数组:是一种容器,可以存储同种数据类型的多个数据
场景: 如果要操作的多个数据是同一组数据,可用
完整格式:int[] arr = new int{};
简化格式; int[] arr = {};
{}中存入元素,即数据
sout(arr);
此时打印出的arr 记录了一份内存地址,
数组中元素的访问, 可以通过索引 数组名[索引] arr[i]
索引(角标,下标),在数组容器中,每个位置都对应了一个编号,可以通过编号访问元素
数组的遍历操作
将数组中的每个元素取出来,进行求和,打印,求最小值等
获取数组中的元素个数 数组名.length
for(int i = 0; i< arr.length; i ++){
}
快捷键
数组名.fori+ 回车
数组动态初始化
数据类型[] 数组名 = new 数据类型 [长度];
int[] arr = new int[3];
两种初始化的区别和使用场景
区别,动态初始化知道数组的长度,然后系统会默认初始化值
静态初始化知道元素,系统会计算出数组的长度
常见问题
① 索引越界; 访问了不存在的索引
②空指针 ;一个引用该数据类型的变量记录了null
-
二维数组的介绍
定义; 二维数组也是容器,存放一维数组
场景; 如果发现要操作的多组数据属于一个整体的话,就可以用二维数组来维护
-
二维数组的静态初始化
// 创建二维数组
数据类型[][] 数组名= new 数据类型[][]{元素1, 元素2, 元素3};
简化格式数据类型[][] 数组名= {};
注意: 二维数组在存储一维数组的时候, 具体存的是一维数组的内存地址
sout(arr[0]);// [I@111ab345
想要访问元素的话
sout(arr[0][1]);//22
表示访问第1个数组的第2个位置
二维数组的遍历
// 遍历二维数组,获取每一个一维数组
for(int i = 0; i < arr.length ; i ++){
// arr[i]就是每一个一维数组
// 对每一个一维数组遍历,获取每个元素
for(int j = 0; j < arr[i].length; j++){
sout(arr[i][j]);
}
}
二维数组的动态初始化
格式
数据类型[][] 数组名 = new 数据类型[m][n];
m : 指定二维数组的长度
n : 指定一维数组的长度
int[][] arr = new int[2][3];
表示创建了一个二维数组,能够存放两个一维数组,数组的长度为3