一:概述
在一维数组的使用中,一不小心就会出现错误,尤其是在初学的情况下。在这里我要说明的是两个常见的问题索引越界问题和空指针异常的问题。
二:具体说明
<1>索引越界问题
初学者打眼一看,可能认为这没有错误,但运行之后,程序报错了。
这个错误,一不小心就会犯。
因为有时候我们会惯性思维的认为数组长度为4,arr[4]应该是正确的,但是忽略了索引为0的情况,因此输出时,arr[n]中的最大值是数组长度减去1.
<2>空指针异常问题
这个问题指的是:对象不在指向堆内存,还想继续访问数据,访问失败。
- 对象设置为null,不在指向堆内存数据了,还想继续访问堆内存数据
- 对象在使用前,进行不为null的判断(解决方法)
再次运行,发现不会报错。
// 定义一个数组
int[] arr = new int[4];
System.out.println(arr[3]);
// 把null赋值给数组
arr = null;
// 输出元素
if(arr != null) {
System.out.println(arr[0]);
}