1;概念
数组,相同数据类型的有序集合,(可以是任意类型,当然也包括引用类型)。
数组也是对象,数组元素相当于对象的成员变量,
数组长度是确定不变的,如果越界则会报java.lang.ArrayIndexOutOfBoundsException:
2;例子;
package textArray;
public class Car {
public String name;
Car(String name){
this.name = name;
}
}
package textArray;
/**、
* 测试数组元素是引用时的情况。
* @author Administrator
*
*/
public class Main {
public static void main(String[] args) {
Car[] car = new Car[4];
car[0] = new Car("奔驰");
int[] a = new int[3];//索引范围为[0,3);
a[0] = 1;
//a[3] = 4;//java.lang.ArrayIndexOutOfBoundsException: 3——数组索引超出下限,3;
System.out.println(car[0].name);
System.out.println(car[0]);//textArray.Car@697a1686——————输出的是包名加@这个对象的哈希码;
}
}
其内存图为
注意一下,字符串也是对象;
3;声明;int[] a; 或者int b[]; (声明引用放在栈中;)
创建数组对象;a = new int [4]; (堆中的对象);a[0]………相当于变量的引用,指向生成的变量。
初始化;默认初始化,数字为0,字符为/u0000,boolen 为flase。引用为null
————动态;foreach进行初始化。
静态初始化,(声明,创建,初始化一起)
Car[] cars = {new Car(“奔驰”)};