我的Java学习之路(第二十天)------ 总结常见的数组异常(越界与空指针)

(参考:尚硅谷_宋红康_Java语言基础)

数组异常

数组的越界

int[] arr = new int[4];
for(int i=0;i<arr.length;i++){
	statement.......
}

上面这个例子毫无疑问是正确的,但如果把里面的条件改为i<=arr.length,便会导致越界;
当然越界也可能是左边界越界,不多叙述;

空指针

这里列举三个常见的情况:
①下面的这个例子 中arr = null仅仅是模拟某些情况下特殊操作所导致,arr原本指向一个堆空间地址,操作后指向null;

package de1;


public class Test2 {
	public static void main(String[] args) {
		int arr[] = new int[] {1,2,3};
		arr = null;
		System.out.println(arr[0]);
	}
	
}

package de1;


public class Test2 {
	public static void main(String[] args) {
		int[][] arr = new int[4][];
		System.out.println(arr[0][0]);
	}
	
}

package de1;


public class Test2 {
	public static void main(String[] args) {
		String[] arr = new String[] {"aa","bb","cc"};
		arr[0] = null;
		System.out.println(arr[0].toString());
	}
	
}

发布了50 篇原创文章 · 获赞 66 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/solitudi/article/details/104169737
今日推荐