//数组的扩容
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[(int)(arr.length * 1.5)];//乘1.5 变成double类型,需要强转成int类型
for(int i = 0; i < arr.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[(int)(stuArr.length * 1.5)];
for(int i = 0; i < stuArr.length; i++) {
newStuArr[i] = stuArr[i];
}
stuArr = newStuArr;
for(Student temp : stuArr) {
if(temp != null) { //解决空指针异常
System.out.println(temp.say());
} else {
System.out.println(temp);
}
}
}
java基础[数组及对象数组的扩容]
最新推荐文章于 2023-04-26 20:23:45 发布