Java进阶
1. 数组
1.1 数组的创建
注意:new是在堆中创建一个数组或者在堆中分配一块连续的存储空间,把这块空间的引用赋值给数组名
还有需要注意的是,数组定义了之后,系统会给数组默认初始化
类型[] 标识符 = new 类型[容量];
// 数组是引用数据类型,引用数据类型还有:接口,类,枚举,注解
1.2 数组的访问
注意的是:下标索引都是从0开始,且没有-1,需要注意
1.2.1 for遍历
可以通过for循环遍历得到下标获取数组内的所有值
for (int i = 0;i < 数组.length;i++){
System.out.println(数组[i]);
}
1.2.2 foreach遍历
可以使用这种遍历方法,来之前获取数组的元素,不通过下标
for (类型 元素:数组) {
System.out.println(元素);
}
1.3 数组扩容
数组的扩容,其本质是将创建一个新的数组,扩大其容量,在将所有值copy到新数组后,在重新使用新数组引用旧数组,以此来扩大旧数组容量
int old = {1};
int new = new int[old.length * 100];
System.arraycopy(old,0,new,0,old.length)
old = new;
/*
1. 优点
通过索引值可以计算出每个数组元素的地址,通过地址直接访问效率高
2. 缺点
向数组中插入/插入元素时,可以需要扩容,复制/移动大量的元素,效率低
*/
// 因此数组一般用于存储基础数据,以访问为主,很少做插入/删除操作
1.4 对象数组
如果数组存放的引用数据类型的对象,就叫对象数组
1.5 随机
Math.random() // 随机0-1的随机小数
以此得到:
1. 随机任意范围double Math.random()*系数
2. 随机任意范围int (int)(Math.random()*系数)
3. 随机字母 (char)(Math.random*26)+97 // 注97位码值,65为大写,97为小写
标签:old,进阶,int,random,Java,随机,数组,new
From: https://www.cnblogs.com/JangNara/p/16732174.html