Java数组03:三种初始化及内存分析
画图分析内存
静态初始化:
int[] a = {1,2,3};
Man[] mans = {new Man(1,1),new Man(2,2)};
动态初始化:
int[] a = new int[2];
a[0]=1;
a[1]=2;
数组的默认初始化:
数组也是引用类型,它的元素相当于类的实例变量,因此数组一经分配空间,其中的每个元素也被按照实例变量同样的方式被隐式初始化。
代码:
package com.pzz.array;
public class Man {
public static void main(String[] args) {
//静态初始化: 创建 + 赋值
int[] a = {1,2,3,4,5,6,7,8};
Man[] men = {new Man(),new Man()};
System.out.println(a[0]);
//动态初始化:包含默认初始化
int[] b = new int[10];
b[0] = 10;
System.out.println(b[0]);
System.out.println(b[1]);
}
}
数组下标越界:要输出一个数组空间里不存在的值,会造成数组下标越界(比如数组只有10个空间,要输出下标10的数);