一、 一维数组
1. 数组是相同类型数据的有序集合
- 相同类型的若干个数据,按照一定先后次序排列组合而成
- 每个数组元素可以通过一个下标来访问它们
- 其中,每一个数据称作一个数组元素
2. 数组特点:
- 其长度是确定的。数组一旦被创建,它的大小就是不可以改变的。
- 其元素必须是相同类型,不允许出现混合类型
- 数组中的元素可以是任何数据类型,包括基本类型和引用类型。
二、 数组声明方式
1. 一维数组的声明方式有两种:
- type[] arr_name;
- type arr_name[];
三、 怎么创建数组
Java中使用关键字new 创建数组对
四、 数组的界限
- 定义并用运算符new为之分配空间后,才可以引用数组中的每个元素;
- 数组元素的引用方式:arrayName[index]
- index为数组元素下标,可以是整型常量或整型表达式。如a[3] , b[i] , c[6*i];
- 数组元素下标从0开始;长度为n的数组合法下标取值范围: 0 ~ n-1;
- 每个数组都有一个属性length指明它的长度,例如:a.length 指明数组a的长度(元素个数);
数组的长度: 数组名.length
起点和终点
• 起点: 数组名[0]
• 终点: 数组名[length-1]
五、 二维数组
1. 二维数组可以看成以数组为元素的数组。例如:
int [][] a= {{1,2},{3,4,5,6},{7,8,9}};
2. 数组的拷贝
public class ArrayTest7 {
public static void main(String args[]) {
String[] s = {"Mircosoft","IBM","Sun","Oracle","Apple"};
String[] sBak = new String[6];
System.arraycopy(s,0,sBak,0,s.length);
for(int i=0;i<sBak.length;i++){
System.out.print(sBak[i]+" ");
}
System.out.println();
int[][] intArray = {{1,2},{1,2,3},{3,4}};
int[][] intArrayBak = new int[3][];
System.arraycopy(intArray,0,intArrayBak,0,intArray.length);
intArrayBak[2][1] = 100;
for(int i = 0;i<intArray.length;i++){
for(int j =0;j<intArray[i].length;j++){
System.out.print(intArray[i][j]+" ");
}
System.out.println();
}
}
}
六、 总结
一维数组入门
• 数组的特点:长度固定,连续空间,存储同一种类型数据
• 数组内存分配图
• for-each循环:简单、主要用于遍历操作
一维数组的应用
• 数组优缺点
• 优点:按照索引查询效率高
• 缺点:添加删除元素效率低;按照内容查询效率低(无序)
二维数组:
• 实质是每个元素是一维数组的一维数组;二维数组内存分配图