(1)使用数组之前一定要理解数组也是一种类型,java的数组要求所有的数组元素都是同样的数据类型,因此,在一个数组中,数组中的元素类型是唯一的,即一个数组只能存储一种数据类型,而不是存储多种数据类型
一维数组初始化有2种格式
1.静态初始化,初始化时由程序员指定每个数组元素的初始值,由系统决定长度
2.动态初始化,初始化时由程序员指定长度,由系统为数组元素分配初始值
静态初始化定义
arrar[] arrayName={element1,...}
动态初始化定义
arrayName=new type[length],执行动态初始化时,程序员只需要指定长度,即为每个数组元素指定所需的内存空间,系统将会为这些数组元素分配初始值,指定初始值时,系统按如下规则来分配初始值
@整数数据类型(byte,int,short和long)则元素的值为0
@浮点类型(float,double) 则数组中元素的值为0.0
@字符类型(char),则数组中元素的值为‘\u0000’
@布尔类型(boolen),则数组中元素的值为false
@引用类型(类,接口和数组),则数组中元素为null
注意,不要同时使用静态初始化与动态初始化,也就是说不要指定数组的长度,或者为每个数组元素分配初始值
(2)深入数组
定义并初始化数组后,在内存中分配了2个空间,一个用于存放数组本身,一个用户存放数组引用变量
二维数组
二维数组定义 type[][] arrayName
java中采用上面来定义二维数组,其实实质就是一维数组,只是其数组元素也是引用,数组元素保存的引用指向一维数组,接着对这个‘二维数组’执行初始化,同样可以把它当做一维数组来初始化,把这个‘二维数组’当成一维数组,其元素类型是type[]类型,则可以用arrayName=new type[lengtj][]来初始化
public class test{
public static void main(String args[]){
//把a当成一维数组进行初始化,初始化a是一个长度为4的数组
int[] [] a=new int[4][];
//把a当成一维数组进行循环
for(int i=0;i<a.length;i++){
system.out.println(a[i]);
//初始化a数组中第一个元素
a[0]=new int[2];
//访问a数组中第一个元素指向所指数组的第2个元素
a[0][2]=6;
for(int i=0;i<a[i].length;i++){
System.out.println(a[0][i]);
}
}
}
}