一、数组是什么?
数组就是一组相同类型数据的容器,本质上就是让我们可以“批量”的创建相同类型的变量。
- 相同类型:Java语言要求存入数组的数据类型必须一致。
容器:类似于我们生活中存放物品的容器,也可以理解成建单元楼,现实生活中单元楼里的房间是用来住人的就好比在编程中,数组用来存放数据。
一组:容器中可以存放多个数据,就好像一栋单元楼可以住很多个业主。
二、数组的创建与初始化
1.数组的动态初始化
代码如下:
int[] arr = new int[] {};
int[] arr = new int[];
数据类型[] 数组名称 = new 数组类型[] {初始化数据};
数据类型[] 数组名称 = new 数组类型[数组长度] ;
int 就是这个数组保存数据的类型,arr是这个数组的名称。就好像这个单元楼里住的都是同一个国籍的人,数组名称就是这个单元楼的名字。{}里的可以存放数组的数据,当然也可以先不存放,{ }前面的[ ]是用来定义数组的长度,即这个数组最多可以存放多少个元素。就好像单元楼中可以住多少人一样。
int[] arr = new int[] {1,3,5,7,9};
int [] arr = new int[5];
初始化数组时,每个元素同时赋值;在创建数组时如果没有使用{ }来初始化每个元素的值,那么数组中的元素都会是该数组数据类型的默认值。
2.数组的静态初始化
代码如下:
int[] arr = {};
数据类型[] 数组名称 = {初始化数据};
int[] arr = {1,3,5,7,9};
其实静态初始化和动态初始化没啥区别,经过javac的编译以后,静态初始化就变成了动态初始化。
3.数组的使用
- 获取一个数组的长度(最多保存元素的个数),使用 数组名称.length 获取
//数组的长度都是5
int[] arr = new int[5];
int[] arr2 = new int[] {1,3,5,7,9}
System.out.println(arr.length);
System.out.println(arr2.length);
最终程序执行的结果都是5。
- 如何访问数组元素
使用数组名称[要访问的元素相较于第一个元素的偏移量]
使用数组名称[元素的索引]
int[] arr = new int[] {1,3,5,7,9};
//数组的索引从0开始,最后一个元素的索引是 arr.length-1
System.out.println(arr[0]);
System.out.println(arr[1]);
输出结果为:1 和 3
数组的索引(下标)是从0开始的,可以将它看做成是单元楼中房间的房间号,数组的元素就可以看作是房间中住的人,那我们要知道某个房间住的是谁,就要知道他的房间号才行。
- 遍历数组(通过循环依次读取数组中的每一个值)
遍历数组的起点: 数组的索引(下标):0
遍历数组的终点:数组长度-1(因为下标是从0开始的,所以终点就要-1才行)
int[] arr= new int[] {1,3,5,7,9};
for(int i =0;i < arr.length-1; i++){
//在遍历过程中,使用i作为数组的索引(下标)访问数组的每一个元素
int res = arr[i];
System.out.println(res);
}
总结
关于数组还有挺多东西没写出来,因为我们马上就要下课,下次再见o。