数组
1. 定义
数组就是存储数据长度固定的容器,存储多个数据的数据类型要一致;
2. 定义格式
//第一种方式:数据类型[] 数组名
int[] arr;
double[] arr;
char[] arr;
// 第二种方式:数据类型 数组名[]
int arr[];
double arr[];
char arr[];
3. 初始化
① 动态初始化
只指定长度,不指定元素;
格式:数据类型[] 数组名=new 数据类型[长度];
int[] arr = new int[3];
/*
- 等号左边:
- int:数组的数据类型
- []:代表这是一个数组
- arr:代表数组的名称
- 等号右边:
- new:为数组开辟内存空间
- int:数组的数据类型
- []:代表这是一个数组
- 3:代表数组的长度
*/
② 静态初始化
只指定元素,不指定长度;
标准格式:数据类型[] 数组名=new 数据类型[]{元素1,元素2…};
简化格式:数据类型[] 数组名={元素1,元素2…};
// 标准格式
int[] arr = new int[]{2, 3, 6};
// 简化格式
int[] arr = {2, 3, 6};
4. 元素的访问
① 索引的概念
每一个存储到数组的元素,都会自动的拥有一个编号,从0开始。
这个自动编号称为数组索引(index),可以通过数组的索引访问到数组中的元素。
② 访问数组元素的格式
数组名[索引];
// 定义数组,并动态初始化
int[] arr = new int[3];
//输出数组名
System.out.println(arr);
//输出数组中的元素
System.out.println(arr[0]);
System.out.println(arr[1]);
System.out.println(arr[2]);
5. 数组元素的默认值
数组创建成功后,没有给数组元素赋值的时候,数组元素是有默认值的;
① 整数 0;
② 小数 0.0;
③ 字符 ’ ';(空字符 \u0000)
④ 字符串 null;
⑤ 布尔 false;
6. 注意事项
1: 数组一旦创建成功,长度不可改变;
2: 数组属于引用数据类型,数组对象会保持在堆内存中,在方法中只有变量的引用(既地址值);
3: 数组可以通过 length属性获取数组的长度;
4:数组通过索引操作数组中的元素,索引是从0开始到长度减一为止的正整数;
7. 数组练习
// 数组的遍历
// 1. 定义数组,使用静态初始化为数组元素赋值
int[] arr = {2, 5, 8, 4, 6, 9, 7};
// 2. 遍历数组元素,在控制台打印每一个数组元素
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
// 求数组元素的平均值
// 1. 定义数组,使用动态初始化为数组元素赋值
int[] arr = new int[5];
// 使用键盘录入为数组元素赋值
Scanner sc = new Scanner(System.in);
// 循环遍历数组, 为每一个数组元素赋值
for (int i = 0; i < arr.length; i++) {
// 输出提示语句
System.out.println("请输入第" + (i + 1) + "个数字");
// 接收键盘录入的数据
int num = sc.nextInt();
// 赋值给对应的数组元素
arr[i] = num;
}
// 求出数组元素的和
int sum = 0;
for (int i = 0; i < arr.length; i++) {
sum += arr[i];
}
// 求出平均数
double avg = sum * 1.0 / arr.length;
// 输出结果
System.out.println("你输入的数字的平均数为:" + avg);
结果显示为: