1.数组的内存分配
JAVA中,数组是引用变量,只有数组名储存在栈中,数组名指向第一个元素,数组中的元素储存在堆中。
2.数组
·数组在堆中开辟的空间是连续的
·数组能储存所有类型的变量
·数组中的元素有默认值
·同一个数组只能储存一种类型的数据
·数组的长度确定后,后面不能更改
3.数组的初始化
·动态初始化:自己指定数组长度。
int[] a; a = new int[10];
int[] a = new int [10];
·静态初始化:系统根据{}内的数据个数统计数组长度
int[] a ={2, 3, 4, 1, 2, 3, 4};
·数组长度 a.length 是一个属性不是一个方法 不用加括号
4.for-each循环
for(int a0, a){ //a是定义好的数组
System.out.println(a);
}
·只能遍历数组/集合,不能进行和下标有关的操作
5·数组按照下标查找时效率非常高:
因为有定位公式:loc(scores[i]) = loc(score[0]) + C * i (C是数据类型占的字节数)
数组按照元素查找时效率很低,因为需要逐个比较