//只是指定初始值,并无指定数组的长度,可是系统为自动决定该数组的长度为4 String[] computers = {"Dell", "Lenovo", "Apple", "Acer"}; //① //只是指定初始值,并无指定数组的长度,可是系统为自动决定该数组的长度为3 String[] names = new String[]{"多啦A梦", "大雄", "静香"}; //②
动态初始化:初始化时由程序员显示的指定数组的长度,由系统为数据每一个元素分配初始值,如:java
//只是指定了数组的长度,并无显示的为数组指定初始值,可是系统会默认给数组数组元素分配初始值为null String[] cars = new String[4]; //③
由于 Java 数组变量是引用类型的变量,因此上述几行初始化语句执行后,三个数组在内存中的分配状况以下图所示:程序员
由上图可知,静态初始化方式,程序员虽然没有指定数组长度,可是系统已经自动帮咱们给分配了,而动态初始化方式,程序员虽然没有显示的指定初始化值,可是由于 Java 数组是引用类型的变量,因此系统也为每一个元素分配了初始化值 null ,固然不一样类型的初始化值也是不同的,假设是基本类型int类型,那么为系统分配的初始化值也是对应的默认值0。数组