1-什么是数组
-
数组(array):是一种用于存储多个相同数据类型的存储模型(可以理解为容器)。
2-数组定义和静态初始化
数组有两种定义格式:
-
格式1:数据类型[] 变量名;
-
范例: int[] arr;
-
定义了一个int类型的数组,数组名是arr
-
格式2:数据类型 变量名[];
-
范例: int arr[];
-
定义了一个int类型的变量,变量名是arr数组
-
所谓初始化:就是为数组中的数组元素分配内存空间,并为每个数组元素赋值
-
注意:数组中的每一个数据,我们称之为数组中的元素
-
静态初始化:初始化时指定每个数组元素的初始值,由系统决定数组长度
-
格式:数据类型[] 变量名 = new 数据类型[]{数据1,数据2,数据3,…};
-
范例:int[] arr = new int[]{1,2,3};
针对这种格式呢?Java提供了一种简化的格式,让我们使用起来更方便
-
简化格式:数据类型[] 变量名 = {数据1,数据2,数据3,…};
-
范例:int[] arr = {1,2,3};
3-数组的访问
-
索引是数组中数据的编号方式
-
作用:用于访问数组中的数据使用,数组名[索引]等同于变量名,是一种特殊的变量名
-
它还有这样的几个特征:
-
特征①:索引从0开始
-
特征②:索引是连续的
-
特征③:索引逐一增加,每次加1
-
/*
数组变量访问方式
格式:数组名
数组内部保存的数据的访问方式
格式:数组名[索引]
*/
public class ArrayDemo {
public static void main(String[] args) {
//定义一个数组,并进行初始化
// int[] scores = new int[]{93,96,99};
int[] scores = {93,96,99};
//输出数组名
System.out.println(scores); //[I@776ec8df
//输出数组中的元素
System.out.println(scores[0]);
System.out.println(scores[1]);
System.out.println(scores[2]);
System.out.println("-----------");
//修改数组中的元素
scores[0] = 100;
scores[1] = 98;
scores[2] = 95;
//再次输出数组中的元素
System.out.println(scores[0]);
System.out.println(scores[1]);
System.out.println(scores[2]);
}
}
举例:获取最大值
/*
获取最大值
*/
public class ArrayTest02 {
public static void main(String[] args) {
//定义数组
int[] arr = {12, 45, 98, 73, 60};
//定义变量max存储最大值,取第一个数据为变量的初始值
int max = arr[0];
//与数组中剩余数据逐个比对,每次比对将最大值保存到变量max中
for (int i=1; i<arr.length; i++) {
if(arr[i] > max) {
max = arr[i];
}
}
//循环结束后输出变量max的值
System.out.println("max:" + max);
}
}
4-数组动态初始化
来,继续啊,下面我们来学习数组初始化之动态初始化。
前面呢,我们已经学习过了静态初始化,也就是初始化时指定每个数组元素的初始值。
初始化时只指定数组长度,由系统为数组分配初始值
-
格式:数据类型[] 变量名 = new 数据类型[数组长度];
-
范例:int[] arr = new int[3];