创建数组
数组属于引用型变量,创建数组需要声明数组和为数组分配变量
声明数组
声明数组包括数组变量的名字(数组名)、数组的类型
格式:
数组的元素类型 数组名[ ];
数组的元素类型 [ ] 数组名;
声明二维数组:
数组的元素类型 [ ][ ] 数组名;
数组的元素类型 数组名 [ ][ ];
float score[];
float [] score; //声明一个数组变量(是引用型变量)如图
Dog []a;//Dog为一个类
int [][] a;
注意:
1.数组元素的类型可以是Java的任何一种类型,则可以是一个类类型,数组元素存放该类对象的引用(即数组元素为类类型的引用变量)
2.Java不允许在声明数组方括号内指定数组元素的个数
为数组分配元素
声明数组仅仅是给了数组变量的名字和元素的数据类型,要想真正地使用数组还必须为它分配变量,即给数组分配元素
格式:
数组名 =new 数组元素的类型 [数组元素的个数];
score=new float[3];//数组score获得3个存放float类型数据的变量,即3个float型元素,数组变量score存放这些元素的首地址,该地址称作数组的引用,数组可以通过索引操作数组元素
score[0]=90.0f;
score[1]=95;
score[2]=100;
声明数组和创建数组可以一起完成
float [] score=new float[3];
二维数组也是一样,在声明之后需要用new运算符分配内存空间,Java采用“数组的数组”来声明多维数组,一个二维数组是由若干个一维数组组成的。
int [][]a;
a=new int[3][4];
int [][]b=new int[3][2]; //如图所示
构成二维数组的一维数组不必有相同的长度,在创建二维数组时可以分别指定一维数组的长度
int [][]c=new int[2][];
c[0]=new int[4];
int size=3;
c[1]=new int[size]; //Java允许用int型变量的值指定数组的元素的个数
数组元素的使用
1.通过索引符访问自己的元素,注意不要出现索引越界
2.数组中元素的个数称作数组的长度,对于一维数组,“数组名.length”的值就是数组中元素的个数;对于二维数组,“数组名.length”的值是它含有的一维数组的个数。
int a[]=new int[9]; //a.length的值为9
double [][]b=double[3][6];//b.length的值为3
3.注意对于char类型数组a,System.out.println(a)不会输出数组a的引用,而是输出数组a的全部元素的值,对于其他类型数组变量,这样输出的是引用,而不是元素的值。
char []a={'你','好'};
System.out.println(a); //输出结果:你好
数组的初始化
创建数组后,系统会给数组中的每个元素一个默认值,eg float型是0.0
在声明数组的同时也可以给数组的元素一个初始值,系统将自动为数组分配空间
float []score={90.0f,95,100};
数组的引用
数组属于引用型变量,因此,两个相同类型的数组如果具有相同的引用,那么他们就有完全相同的元素
int a[]={1,2,3},b[]={4,5};
a=b; //a存放的引用将和b一样,则数组a和数组b的元素一样
toString()方法
用Arrays类调用public static String toString(int [ ] a)
方法,可以得到参数指定的一维数组a的如下格式的字符串:
[ a[0],a[1], …,a[a.length-1] ]
int [] a={1,2,3,4,5,6};
System.out.println(Arrays.toString(a));//将得到 [1,2,3,4,5,6]