数组
数组适合做一批同类型数据的存储。
静态初始化数组:
注意:数组变量名中存储的是数组在内存中的地址,数组是引用类型。
数组的访问
动态初始化数组:
数组的遍历:
注意左边和右边的区别,一个是改变数组的值,另一个是改变地址相当于,右侧的局部变量被销毁了。
- 右侧代码:在
doIt
方法中,z = null;
只是改变了局部变量z
的引用,并没有改变myArray
的引用,因此myArray
的值没有改变。 - 左侧代码:在
doIt
方法中,A[0] = 99;
修改了数组的第一个元素。由于A
和z
都指向myArray
所指向的数组,因此对A[0]
的修改会反映在myArray
所指向的数组上,导致myArray
的值发生了改变。
通过这个比较,我们可以清楚地看到两段代码的区别在于对数组引用的操作不同,从而导致了不同的结果。
数组内存图:
Java内存分配
new出来的都是在堆内存中的,方法都在栈内存中。
数组使用常见问题:
1.越界异常(超出最大索引)
2.空指针异常(null)
Debug工具使用