一维数组声明方式:
type var[] 或 type[] var;
Java语言中声明数组时不能指定其长度(元素个数),例如:
int a[5]; //非法的
Java中使用关键字new创建数组对象.
静态初始化:
- 在定义数组的同时就为数组元素分配空间.
- int a[]={3,4,5};
数组元素的默认初始化:
数组是引用类型,它的元素相当于类的成员变量,因此数组一经分配空间,其中每个元素也被按照成员变量同意的方式被隐式初始化。
int[] var = new int[4]
System.out.println(var[0]);//打印出来的是0
获得数组长度:
a.length;//后面没有括号
for each(for each element in a):
当我们需要遍历数组的时候可以使用,不用担心数组的长度,使用数组下标格式:
for(int element : a)
System.out.println(element);
内存结构:
栈内存:
用于存储局部变量,当数据使用完,所占空间会自动释放。
堆内存:
- 数组和对象,通过new建立的实力都放在堆内存中
- 每个实体都用内存地址值
- 实体中的变量都有默认初始化值
- 试题不在被使用,会在不确定的时间内被垃圾回收站回收
常见问题:
- 数组脚标越界异常(ArrayIndexOutOfBoundsException)
访问到了数组中不存在的脚标时发生
- 空指针异常(NullPointerException)
int[] arr =null;
System.out.println(arr[0]);
数组引用没有指向实体,却在操作实体中的元素