一、数组
数组的定义
数组就是在java中用来在同一时刻可以一次性保存多个相同数据类型数据的容器

数组的优势
1.简化代码
数组能存储一组数据,因此可以将多个变量何为一个变量。
2.便于批量操作数据
数组和循环经常搭配使用,通过循环可以操作每一个数据。
3.很多场景都要使用到数组
数组的特征:
1.一个数组可以包含多个数据
2.数组中说有的数据类型都是一样的
3.数据的长度一旦定义,就不能进行改变
4.数组是引用数据,数组中的数据的数据类型可以使认识数据类型(基本数据类型 引用数据类型)
数组的分类
一维数组 []
二维数组 [] []
三维数组 [] [] []
多维数组 …..
一维数组的定义方式
数组的声明格式:数据类型[] 数据名;
声明数组的方法:

int[] arr; long[] lo;
数组名类似变量名,采用的是小驼峰命名规范,一个单词,全部小写;
多个单词,从第二个单词开 始,首字母大写,其余小写。
数组的初始化
因为数组是引用数据类型
格式:
数据类型 []数组名 = new 数据类型[长度];
数据类型 数组名[] = new 数据类型[长度];
数据类型 数组名[] = new 数据类型[]{值1,值2,值3……};
数据类型 数组名[] = {值1,值2,值3……};
数组的赋值和取值:
格式:
下标从0开始,到数组的长度-1为止
赋值 数组名[下标] = 值;
取值 数组名[下标

数组索引下标越界异常

数组的长度
数组名.length
数组的默认值

代码示例:
package day04;
public class Array {
public static void main(String[] args) {
// int arr[] = new int[5];
// System.out.println( arr);
// arr[0] = 23;
// arr[1] = 24;
// arr[2] = 25;
// arr[3] = 26;
// arr[4] = 27;
// System.out.println(arr[0]);
// System.out.println(arr[1]);
// System.out.println(arr[2]);
// System.out.println(arr[3]);
// System.out.println(arr[4]);
// System.out.println(arr[5]);
// System.out.println(arr.length);
double dou[] = new double[]{12.3, 4.5, 5.5, 6.6, 7.5, 8.1, 9.0};
System.out.println(dou.length);
System.out.println(dou[4]);
String names[] = {"张三", "李四", "王五", "刘二麻子", "张飞"};
System.out.println(names.length);
System.out.println(names[4]);
for (int i = 0; i < names.length; i++) {
System.out.println(i);
System.out.println(names[i]);
}
}
}
习题练习:
1、创建一个数组,随机生成10个int值,求数组中元素最大值、最小值、平均值

2、定义一个数组,让其整体翻转过来(第一位与最后一位数据互换,第二位为倒数第二位数据互换…)
[1,2,3,4,5] [5,4,3,2,1]
结果有问题,目前还没解决

3、定义一个int类型一维数组,存储至少 8 名学生的语文成绩(0-100 之间的整数)。 使用for循环遍历数组,完成以下任务: 统计及格人数(及格标准:≥60 分)和优秀人数(≥90 分)。 计算所有学生的平均成绩(保留 2 位小数)。 格式化输出结果:总人数、及格人数、优秀人数、平均成绩。

4、统计数组中指定元素出现的次数 题目要求 定义一个String类型一维数组(存储学生姓名,例如:{"张三", "李四", "张三", "王五", "张三", "赵六"})。 定义一个目标字符串(例如:"张三"),统计该字符串在一维数组中出现的次数。 使用for循环遍历数组实现统计,禁止使用内置工具类。 扩展要求:输出统计结果,格式如:"张三在数组中出现了3次";若未出现,输出"目标元素未在数组中找到"。 核心考点 引用数据类型(String)数组的定义与遍历。 String类型的相等判断(必须使用equals()方法,不能用==)。 查找与统计的核心逻辑(匹配成功则计数器 + 1)。
字符串之间的相等需要使用equals

5、给数组中的元素排序(从小到大) 冒泡排序 排序之后重新输出



