Java中数组的声明
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Java中数组的声明
一维数组的声明:
在Java中,数组是独立的对象,有自身的方法,不是变量的集合。
数组的声明:
类型标识符数组名[ ] 或者类型标识符[] 数组名。
数组的长度是在创建的时候决定的。
数组的创建方法:
先声明后创建:
int array[];
array = new int[10];
在声明的同时创建:
int array[] = new int[10];
直接赋值:
int array[]= new int[1,2,3,4];
数组下标从0开始。
数组是引用类型,他的元素相当于类的成员变量,因此数组分配空间后,每个元素也被按照成员变量的规则被隐士地初始化。如:
public class Testpublic static void main(Stirng [] args)?? int [] a = new int [5];
?? Date[] days=new Date[3];
?? System.out.println(a[3]);
?? System.out.println(days[2]);}
class Dateint year,month,day;
Date(int year,int month,int day)?? this.year=year;
?? this.month=month;
?? this.day=day;}
结果将是:0????? null
数组的拷贝
最有效率的方法是使用ng.System类的静态方法:
public static void arraycopy(object src,int srcPos,object dest, ???????????????? int destPos,int length)
可以用于数组src从第srcPos项元素开始的length个元素拷贝到目标数组从destPos项开始的length个位置。
如果源数据数目超过目标数组的边界,系统就会抛出异常。
二维数组
float[][] numthree;???????????? //定义一个float类型的2维数组
numthree=new float[5][5];?????? //为它分配5行5列的空间大小
numthree[0][0]=1.1f;??????????? //通过下标索引去访问???? 1行1列= 1.1
numthree[1][0]=1.2f;????????????????????????????????? // 2行1列=1.2
numthree[2][0]=1.3f;????????????????????????????????? // 3行1列=1.3
numthree[3][0]=1.4f;????????????????????????????????? // 4行1列=1.4
numthree[4][0]=1.5f;????????????????????????????????? // 5行1列=1.5
//定义二维数组写法2?? 定义的同时分配空间大小
short[][] numfour=new short[5][8]; //定义一个short类型的数组同时为它分配5行8列的空间大小
//定义二维数组写法3??????? 不规则数组
long[][] numfive=new long[5][];???? //定义一个long类型的不规则数组
numfive[0]=new long[5];???????????? //为第1行分配5列
numfive[1]=new long[6];???????????? //为第2行分配6列
System.out.println(numfive[2][7]); //打印输出一个没有定义数组元素的数组 java会自动将他初始化值为0
//定义2维数组写法4??? 定义的同时赋初始值
double[][] numsix={{1.111D,2.222D,3.333D},{4.444D,5.555D,6.666D}};//定义double 型的数组分配3行3列的空间同时赋值
//定义2维数组写法5?? 定义不规则的2维数组同时赋初始值
int[][] numseven=new int[][]{{10,20,30},{40,50},{60}};
还可以写成:int[][] numseven = {{10,20,30},{40,50},{60}};
System.out.println(numseven[0][0]);
System.out.println(numseven[0][1]);
System.out.println(numseven[1][0]);?? System.out.println(numseven[2][0]);