②动态初始化-->只有长度(元素个数),没有元素(不是真的没有,都是默认值)
如:
这个初始化的过程,就是在堆内存中实实在在地创建了一个数组。
就是在堆内存中开辟的一串连续的地址空间 ,并赋了值。
⚠
注意:
栈内存中没有元素,就是真的没有。
栈内存中都是变量,变量创建出来,,不往里面存东西,就是真的没有元素。
栈内存里的变量没有初始化,就是真的没有元素。
堆内存的元素,创建出来都是有默认值的。
现在是数组,创建在堆内存里,以后的对象也在堆内存里。
堆内存里的对象空间,里面的每一个值,如果不给它们赋值,都是有默认值存在的。
堆内存里都是有默认值的。
(5)数组元素的访问
数组元素的访问(存/取),是通过元素在数组中的位置(index索引)来访问的。
数组的索引从 0 开始,一直到数组 长度-1 结束。
如果索引出现范围以外的值(比0小或比长度减一大),就会产生一个运行时异常,
即: Array Index Out Of Bounds Exception (数组索引越界)。
要求
:1.记住错误英文名 2.知道这个错误如何产生的 3.以后遇到了会更正错误。
(6)数组元素的遍历
数组的遍历(轮询):
正常的for循环 / 增强for循环 。
正常for循环: 有索引,可以赋值,可以取值。但写法相对比较麻烦。
数组内部类型[] 数组名字=new 数组内部类型[元素个数];
//元素个数只能是0以上的(包括0)。
//如果是0,就是创建了一个长度为0的数组,没有意义。
//如果长度小于0,会出现一个“编译时异常”,数组长度不合法(Negative Array Size Exception)的
错误。
评论0
最新资源