1、 一维数组1) int a; /声明,没有初始化2) int a=new int5; /初始化为默认值,int 型为 03) int a=1,2,3,4,5; /初始化为给定值 4) int a=new int1,2,3,4,5; /同(3) int a=new int51,2,3,4,5; /错误,如果提供了数组初始化操作,则不能定义维表达式 5) int a; a=new int5; /正确, 同(2)一样int a;a=1,2,3,4,5; /错误,数组常量只能在初始化操作中使用,如(3 )6) int a;a0=1; /错误,因为数组没有初始化,不能赋值a1=2; 二维数组1) int
2、 a; /声明,没有初始化2) int a=new int23; /初始化为默认值,int 型为 03) int a=1,2,2,3,3,4; /初始化为给定值 int a=1,2,2,3,3,4,5; /没有错, 数组空间不是连续分配的,所以不要求每一维的大小相同4) int a=new int2;a0=new int3; /a0其实就是一个数组a1=new int4; /每一维的大小可以不一样;5) int a=new int1,2,2,3,3,4,5; /同(3) int a=new int51,2,2,3,3,4,5; /错误,如果提供了数组初始化操作,则不能定义维表达式 int a=
3、new int2;a0=1,2,3,4,5; /错误,数组常量只能在初始化操作中使用6) int a=new int2;a01=1; /错误,第二维没有初始化,不能赋值,java.lang.NullPointerException 异常总结: 1.二维就是数组的数组, 里面的数组大小不要求一样2.不管一维还是二维,在使用前 (赋值,访问)必须初始化,可以用 new 默认初始化,也可以用数组常量初始化1.动态初始化:数组定义与为数组分配空间和赋值的操作分开进行;2.静态初始化:在定义数字的同时就为数组元素分配空间并赋值;3.默认初始化:数组是引用类型,它的元素相当于类的成员变量,因此数组分配空间
4、后,每个元素也被按照成员变量的规则被隐士初始化。实例:TestD.java(动态 )程序代码public class TestDpublic static void main(String args) int a ;a = new int3 ;a0 = 0 ;a1 = 1 ;a2 = 2 ;Date days ;days = new Date3 ;days0 = new Date(2008,4,5) ;days1 = new Date(2008,2,31) ;days2 = new Date(2008,4,4) ;class Dateint year,month,day ;Date(int y
5、ear ,int month ,int day) this.year = year ;this.month = month ;this.day = day ;TestS.java(静态):程序代码public class TestSpublic static void main(String args) int a = 0,1,2 ;Time times = new Time(19,42,42),new Time(1,23,54),new Time(5,3,2) ;class Timeint hour,min,sec ;Time(int hour ,int min ,int sec) this.hour = hour ;this.min = min ;this.sec = sec ;TestDefault.java(默认):程序代码public class TestDefaultpublic static void main(String args) int a = new int 5 ;System.out.println(“ + a3) ;