保存同种类型的数据集合,数据可重复。
访问数组中的元素时,数组名加下标:arrayName[index],index的范围是[0,len)
求元素的个数,通过数组对象的属性length。
变量在使用前必须初始化,初始化的值为各类型的“零”值,
byte:0 short:0 int:0 long:0l,0L float:0.0f,.0f double:0.0,.0 boolean:false
char:0,'\0','\u0000' 对象类型的零值:null
物理内存在java中分为几部分:
栈区(stack)6%左右,用来存放内置类型的变量,引用变量(只与所在系统中整数占用的内存相同)
堆区(heap)90%左右用来存放对象,数组元素;(栈区的内存分配效率高)
代码区:代码,静态变量,静态属性,常量池。
一维数组的特点和优势:
特点:是一种线性结构,通过数组名加下标访问。
有且只有一个首元素,首元素前没有前驱元素
有且只有一个尾元素,尾元素后没有后继元素
中间元素有且只有一个前驱元素和一个后继元素
优势:访问方便,随即(任意下标)访问;
不足之处:
一旦被定义,长度就不能改变。会在堆区给这个数组分配内存,在可见范围内内存不会释放,内存块也不能增加和删减
删除和插入效率低
链表删除和插入方便,但访问不方便。树(二叉树)综合了数组和链表的优点。
多维数组,被称为数组的数组。无论一个数组有多少维,都先看成是“一维数组”
在多维数组中,维数相同的元素,可以相互赋值。