java数组初始化详解.doc
上传人:yy****24 上传时间:2024-09-09 格式:DOC 页数:3 大小:33KB 金币:12 举报 版权申诉
预览加载中,请您耐心等待几秒...

java数组初始化详解.doc

java数组初始化详解.doc

预览

在线预览结束,喜欢就下载吧,查找使用更方便

12 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

1)int[]a;//声明,没有初始化2)int[]a=newint[5];//初始化为默认值,int型为03)int[]a={1,2,3,4,5};//初始化为给定值4)int[]a=newint[]{1,2,3,4,5};//同(3)int[]a=newint[5]{1,2,3,4,5};//错误,如果提供了数组初始化操作,则不能定义维表达式5)int[]a;a=newint[5];//正确,同(2)一样int[]a;a={1,2,3,4,5};//错误,数组常量只能在初始化操作中使用,如(3)inta[];a[0]=1;//错误,因为数组没有初始化,不能赋值a[1]=2;二维数组1)int[][]a;//声明,没有初始化2)int[][]a=newint[2][3];//初始化为默认值,int型为03)int[][]a={{1,2},{2,3},{3,4}};//初始化为给定值int[][]a={{1,2},{2,3},{3,4,5}};//没有错,数组空间不是连续分配的,所以不要求每一维的大小相同int[][]a=newint[2][];a[0]=newint[3];//a[0]其实就是一个数组a[1]=newint[4];//每一维的大小可以不一样;5)int[][]a=newint[][]{{1,2},{2,3},{3,4,5}};//同(3)int[]a=newint[5]{{1,2},{2,3},{3,4,5}};//错误,如果提供了数组初始化操作,则不能定义维表达式int[][]a=newint[2][];a[0]={1,2,3,4,5};//错误,数组常量只能在初始化操作中使用6)int[][]a=newint[2][];a[0][1]=1;//错误,第二维没有初始化,不能赋值,java.lang.NullPointerException异常总结:1.二维就是数组的数组,里面的数组大小不要求一样2.不管一维还是二维,在使用前(赋值,访问)必须初始化,可以用new默认初始化,也可以用数组常量初始化1.动态初始化:数组定义与为数组分配空间和赋值的操作分开进行;2.静态初始化:在定义数字的同时就为数组元素分配空间并赋值;3.默认初始化:数组是引用类型,它的元素相当于类的成员变量,因此数组分配空间后,每个元素也被按照成员变量的规则被隐士初始化。实例:TestD.java(动态)程序代码publicclassTestD{publicstaticvoidmain(Stringargs[]){inta[];a=newint[3];a[0]=0;a[1]=1;a[2]=2;Datedays[];days=newDate[3];days[0]=newDate(2008,4,5);days[1]=newDate(2008,2,31);days[2]=newDate(2008,4,4);}}classDate{intyear,month,day;Date(intyear,intmonth,intday){this.year=year;this.month=month;this.day=day;}}TestS.java(静态):程序代码publicclassTestS{publicstaticvoidmain(Stringargs[]){inta[]={0,1,2};Timetimes[]={newTime(19,42,42),newTime(1,23,54),newTime(5,3,2)};}}classTime{inthour,min,sec;Time(inthour,intmin,intsec){this.hour=hour;this.min=min;this.sec=sec;}}TestDefault.java(默认):程序代码publicclassTestDefault{publicstaticvoidmain(Stringargs[]){inta[]=newint[5];System.out.println(""+a[3]);}}