今天我们学习了数组,请根据自己的理解对下列问题进行回答:
今天需要掌握的知识点有:
1.什么是数组?数组的定义有哪几种格式?
数组就相当于一个容器,用于存储数据用的, 使用new关键字就是在内存开辟一个空间,用于存储指定的数据类型
数组定义的格式:
二种 动态定义: 数据类型[] 变量名 = new 数据类型[数据的长度];
eg: int[] arr = new int[5];表示定义一个int类型的数据,存储元素为5个
静态定义: 标准格式:数据类型[] 数组名 = new 数据类型[]{元素1,元素2,元素3...}
简化格式: 数据类型[] 数组名= {元素1,元素2,元素3...} 注意:这种格式不能先定义数组后赋值,会报错,必须定义跟赋值同时进行
2.什么时候使用动态赋值?什么时候使用静态赋值?
当不知道要存储什么元素的时候使用动态赋值,当知道存储的元素且知道元素的个数的时候用静态赋值
3.堆中存放的是什么?栈中存放的是什么?
堆中存放的是引用类型 也就是使用关键字new出来的,包括 类 接口 数组等
4.数组越界异常是怎么产生的?数组空指针异常是怎么产生的?
数组越界异常的产生是因为我们在获取数组值的时候超过了数组的长度
空指针是因为数组变量没有指向一个内存地址 eg:int[] arr = null ;sout(arr)这样会报空指针异常 |