//1.数组基础(重点)
//1.1. 引入数组
//引言:为什么使用数组?
//需求: 请存储全班的成绩
//根据变量存: int score1=66; int score2=68; int score3=77; ...
//弊端: 60个学生成绩,则需要60个变量,冗余太多
//假设每个同学的成绩都+1分? 如何处理?
//弊端:每个变量,都需要做+1操作,不方便管理
//引入数组:
//概念:一组连续的内存空间,用于存储相同类型的元素
//数组特点:类型相同,长度固定
//===========================案例1============================
public class ArrayTest1 {
public static void main(String[] args) {
//需求: 请存储全班的成绩
//数组是引用类型:往往需要先开辟空间,然后再存值
int[] arr = new int[3]; //定义3个int类型的数组空间
//通过下标给数组元素赋值(存值)与取值 下标范围:0~长度-1
arr[0] = 66; //赋值
arr[1] = 68;
arr[2] = 77;
//arr[3] = 99; //ArrayIndexOutOfBoundsException: 数组越界异常
//打印输出的优化---循环打印(遍历)
System.out.println("数组长度:"+arr.length); //3
for(int i=0;i返回扩容数组
}
}
//系统提供的扩容方法调用:
public class Test2 {
public static void main(String[] args) {
int[] src = {1,3,5}; //原数组
//-------扩容方式1-------
//int[] dest = new int[src.length+3]; //目标数组
//参数1:原数组 2.原的起始位置-一般为0
//3.目标数组 4.目标起始位置-一般为0 5.拷贝长度--一般是原数组长度
//System.arraycopy(src, 0, dest, 0, src.length);
//------扩容方式2------
//参数1:原数组 参数2:要扩容的长度 返回值:扩容的目标数组
int[] dest = Arrays.copyOf(src, src.length+3);
for(int i=0;i