本文已参与「新人创作礼」活动,一起开启掘金创作之路。
//数组的缩减
public static void main(String[] args) {
int[] arr = new int[8];
for(int i = 0; i <arr.length; i++) {
arr[i] = (int) (Math.random() * 20);
}
//遍历
for(int temp : arr) {
System.out.print(temp + " ");
}
System.out.println();
// 数组的缩减,并不能直接在原数组上修改,只能创建新数组,再将原数组中的元素复制到新数组中,最后修改指针
int[] newArr = new int[arr.length / 2];
for(int i = 0; i < newArr.length; i++) {
newArr[i] = arr[i];
}
// 原数组引用指向新数组
arr = newArr;
for(int temp : arr) {
System.out.print(temp + " ");
}
System.out.println();
}
//对象数组的缩减
public static void main(String[] args) {
Student[] stuArr = new Student[20];
String[] name1 = {"赵","钱","孙","李","周","吴","郑","王"};
String[] name2 = {"明","阳","微","男","楠","博","三","歌"};
// 遍历才可以用增强for
for(int i = 0; i < stuArr.length; i++) {
int id = i + 1;
int index1 = (int)(Math.random() * 100) % name1.length;
int index2 = (int)(Math.random() * 100) % name2.length;
String name = name1[index1] + name2[index2];
int grade = (int)(Math.random() * 100) % 6 + 1;
double score = (int)(Math.random() * 101);
stuArr[i] = new Student(id,name,grade,score);
}
// 增强for 数据类型 变量名 : 数组名
for(Student temp : stuArr) {
System.out.println(temp.say());
}
// 对象数组的缩减
Student[] newStuArr = new Student[stuArr.length / 2];
for(int i = 0; i < newStuArr.length; i++) {
newStuArr[i] = stuArr[i];
}
stuArr = newStuArr;
for(Student temp : stuArr) {
System.out.println(temp.say());
}
}