Java基础_3--Java数组

1.数组动态初始化

数组动态初始化 就是 只给定数组的长度由系统给出默认初始化值

数据类型[] 数组名 = new 数据类型[数组长度];

int[] arr = new int[3];

数组声明,必须要明确行数,列数随意

正确:

float f[][] = new float[6][6];

float []f[] = new float[6][6];

float [][]f = new float[6][6];

float [][]f = new float[6][];

错误:

float f[][] = new float[][6];

2.数组静态初始化

在创建数组时,直接指定每个数组元素的初始值,由系统 决定 数组长度

不指名数组长度

数据类型[] 数组名 = new 数据类型[]{元素1,元素2,...};

数据类型[] 数组名 = {元素1,元素2,...};

3.数组操作的两个常见问题

3.1索引越界异常

int[] arr = new int[3];

System.out.println(arr[3]);

数组长度为3,索引范围是0~2,但是我们却访问了一个3的索引。

程序运行后,将会抛出ArrayIndexOutOfBoundsException 数组越界异常。

解决方案:将错误的索引修改为正确的索引范围即可!

3.2 空指针异常

int[] arr = new int[3];

//null赋值给数组

arr = null;

System.out.println(arr[0]);

arr = null 这行代码,意味着变量arr将不会在保存数组的内存地址,也就不允许再操作数组了,因此运行的时候会抛出 NullPointerException 空指针异常。

解决方案:给数组一个真正的堆内存空间引用即可!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值