疯狂java01

1.1数组初始化

1)数组变量是引用类型变量

数组的初始化有两种方式:

静态初始化:初始化时由程序员显式指定每个数组元素的初始值,系统决定数组长度

动态初始化:初始化时程序员指定数组长度,由系统为数组元素分配初始值

注意:不要同时使用静态初始化和动态初始化,即不要在进行数组初始化时,既指定数组的长度,又分配初始值

改变一个数组变量所引用的数组,可以造成数组长度可变的假象

2)数组一定要初始化?

对数组执行初始化,并不是对数组变量进行初始化,而是对数组对象初始化。只要让数组变量指向一个有效的数组对象,程序即可正常使用该数组变量。

3)基本类型数组的初始化

所有局部变量都是放在栈内存里保存的,不管其是基本类型的变量,还是引用类型的变量,都存在各自方法栈区中。引用类型变量所引用的对象则总是存储在堆内存中。引用变量本质为指针,只要程序通过引用变量访问属性和调用方法,该引用变量将会由它所引用的对象代替

NullPointException(空指针异常)当通过引用变量来访问实例属性或者调用非静态方法时,如果未引用一个有效对象,程序就会引发这个运行时异常

4)引用类型数组的初始化

引用类型数组的数组元素依然是引用类型,数组元素里存储的还是引用,指向另一块内存

1.2使用数组

Java语言避免直接访问堆内存中的数据可以保证程序更加健壮,如果程序直接访问并修改堆内存中的数据,可能破坏内存中的数据完整性,从而导致程序Crash

1)数组元素就是变量

main方法声明的变量都属于局部变量,因此他们都被保存在main方法栈中。数组元素不论基本类型还是引用类型,总是保存在堆内存中。

2)没有多维数组

不准确说法:通过数组的length属性可以获取数组的长度

准确说法:数组的length属性应该返回系统为该数组所分配的连续内存空间的长度



猜你喜欢

转载自blog.csdn.net/little_____white/article/details/80917970