Java数组

小小的数组,知识还真不少!

 

Java数组是静态的,与之相对的是JavaScript的动态数组。

 

提到Java数组,往往会提到两个概念:数组变量和数组对象。数组变量只是一个引用变量,而数组对象就是保存在堆内存中的连续内存空间。对于数组变量来说,它并不需要进行所谓的初始化,只要让数组变量指向一个有效的数组对象,程序即可正常使用该数组变量。对数组对象的初始化有以下两种方式:

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

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

 

所有局部变量都是放在栈内存里保存的,不管其是基本类型的变量,还是引用类型的变量,都是存储在各自的方法栈中;但引用类型变量所引用的对象(包括数组、普通Java对象)则总是存储在堆内存中。

 

引用变量本质上只是一个指针,只要程序通过引用变量访问属性,或者通过引用变量来调用方法,该引用变量将会由它所引用的对象代替。

 

Java语言不允许直接访问堆内存中的数据,因此无法直接访问堆内存中的数组对象,程序将通过数组引用变量来访问数组。

 

只要在已有数据类型之后加上方括号,就会产生一个新的数据类型;无论哪种类型的数组,其数组元素其实相当于一个普通变量,把数组类型之后的方括号去掉后得到的类型就是该数组元素的类型。

 

N维数组就是数组元素为N-1维数组的数组。

你可能感兴趣的:(java数组)