一维数组
数组的基础知识
1、声明数组变量
- 声明一个数组变量(引用类型)
double[] list;
或 double list[];
- 不同于声明基本数据类型变量,声明一个数组变量时不给数组分配任何内存空间。它存储的是指向数组的引用。
2、创建数组
- 让引用指向一个数组变量
list = new double[10];
- 说明:
new double[10]
创建了一个数组,并把这个数组的引用赋值给了变量list,即引用变量指向数组。
-
总结
- 一共三个步骤:声明一个数组变量、创建数组、将数组引用赋值给变量
- 可以合并在一条语句里
double[] list = new double[10];
3、数组大小和默认值
数组名.length
得到数组的大小。
- 注意数组中length是属性不是方法,没有括号()
- 创建数组后,它的元素被赋予默认值(默认初始化)。数值型基本数据类型的默认为0,char型默认为**‘\u0000’**,boolean型 默认为 **false **。
4、访问数组元素
- 通过下标访问。下标从0开始。
- 每个元素可以用下标变量表示:
list[0];
- 下标变量和正常变量的使用方法相同。
如:list[3] = list[2] + list[1];
for(int i = 0; i < list.length; i++){
list[i] = i;
}
5、数组初始化简写方式
- 声明数组、创建数组、初始化数组合并到一条语句中。
double[] list = {1.9, 2.9, 3.4, 3.5};
//{…}:初始化列表
- 不使用操作符new。
6、处理数组——for循环
- 相关操作
- 循环输入初始化数组
- 使用随机数初始化数组
- 显示数组
- 所有元素求和
- 找最大值
- 找最大值最小下标
- 随机打乱
- 移动元素
- 简化编码
7、foreach循环
for(double i : list){
System.out.println(i);
}
- 变量 i 必须和 list 中元素的数据类型相同
- 限制
实例1:分析数字
实例:一副牌
复制数组
list2 = list1;
只能将list1的引用值赋值给list2,在这条语句后,list2引用的数组不能再引用,变成垃圾,被Java虚拟机自动收回,这个过程称为垃圾回收(garbabe collector,主动触发)。
- 将一个数组变量赋值给另一个数组变量,实际上是将一个数组的引用复制给另一个变量,使两个变量都指向相同的内存地址。
- 有三种方法
- 使用循环,逐个赋值
- System类中的静态方法
arraycopy(sourceArray, srcPos, targetArray, tarPos, length);
clone
方法复制
int[] srcArray = {
2, 3, 1, 5, 10};
int<