Java数组常见问题异常(1.索引越界异常,2.空指针异常)

1.数组越界异常

观察一下代码,运行后会出现什么结果。

public static void main(String[] args) { 
	int[] arr = {1,2,3}; 
	System.out.println(arr[3]); 
}
  • 创建数组,赋值3个元素,数组的索引就是0,1,2,没有3索引,因此我们不能访问数组中不存在的索引,
  • 程序运 行后,将会抛出 ArrayIndexOutOfBoundsException 数组越界异常

在开发中,数组的越界异常是不能出现的,一 旦出现了,就必须要修改我们编写的代码
在这里插入图片描述

2.数组空指针异常

观察一下代码,运行后会出现什么结果。

public static void main(String[] args) { 
	int[] arr = {1,2,3}; 
	arr = null; 
	System.out.println(arr[0]);
  • arr = null 这行代码,意味着变量arr将不会在保存数组的内存地址,也就不允许再操作数组了
  • 因此运行的时候 会抛出 NullPointerException 空指针异常。

在开发中,数组的越界异常是不能出现的,一旦出现了,就必须要修 改我们编写的代码。
在这里插入图片描述
空指针异常在内存图中的表现
在这里插入图片描述

评论 2 您还未登录,请先 登录 后发表或查看评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:游动-白 设计师:我叫白小胖 返回首页

打赏作者

学后端的小萝卜头

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值