内容概要:
1.基本数据类型数组
2.一维数组的初始化
3.对象数组
4.二维数组
5.三维数组
1.基本数据类型数组
数组是指具有相同数据类型的一组数据的集合。在java中,根据所属的数据类型不同,可以将数组大体划分为:基本数据类型数组与对象型数组。并且,java语言也是将数组视为一个对象。虽然基本数据类型不是对象,但是由基本数据类型构成的数值却是对象。
基本数据类型数组:
字符型数组:'a'、'd'、'e'、'c'、.....
整型数组:123、43、543、-3.....
实数型数组:2.13、3.0、-2.32f.....
对象型数组:String型数组:"agc","f32",new("ada")......
此外,我们又将数组分为:一维数组、二维数组、三维数组,........
数组是一个对象,在使用之前,应当先声明指向这个数组对象的引用(变量)
声明一个整型数组的引用a,声明方法大体上有4中。如下: int[] a; int[]a; int a[]; int []a;4中的含义完全相同。符号[]表示所声明的引用变量是指向数组(int[])对象的变量,单个[]表示要创建的数组是一个一维数组。 声明好了数组的引用变量后,要创建实实在在的数组对象,并将这个对象赋给引用变量a。如下:a=new int[5];
数组是对象,也有自己的成员变量与成员方法。在其成员中,最值得关注的是记录数组长度(元素个数)的变量length,它是公共的成员变量,无论在什么时候都可以访问它。
public class Array1{ int[] a; a=new int[10]; //可以合并写成:int[] a=new int[10]; System.out.println(a.length);//输出数组的长度。
访问数组元素时使用“组名[元素下标]” 的形式。如:a[0]=10;a[0]表示数组的第一个数,a[1]表示数组的第二个数,依次类推。
2.一维数组的初始化
与基本数据类型一样,我们也可以对数组进行初始化。初始化有下面两种形式:
int[] a=new int[]{1,2,3,4,5}
int[] b={6,7,8,9}
其中,第一种用的较多较广泛。
数组初始化时可以定义它的长度:如int [] a=new int[5],该数组的长度为5.数组默认的元素都是0.
3.对象数组
对象数组(object array)又叫引用型数组,对象数组实际上就是引用的集合。及对象数组中的元素就是引用。
以String型数组为例说明。
String[] s;...............//x1
s=new String[3]; .........//x2
x1行声明了一个String型数组的引用变量s,x2行创建一个拥有3个元素的数组,并把数组对象赋给其引用的变量s。注意,此数组中的所有元素都是一个引用,所以我们可以为每个元素创建一个对象,并将创建的对象赋给每个元素。eg:
s[0]=new String("小明"); s[1]=new String("小强"); s[2]=new String("小力"); public class Array5{ public static void main(String[] args){ Array5[] arr=new Array5[2]; arr[0]=new Array5(); arr[1]=new Array5(); arr[0].a=10;arr[0].b=20; arr[1].a=30;arr[1].b=40; System.out.println(arr[0].a+arr[0].b+arr[1].a+arr[1].b); }}//结果:100
对象数组的初始化与基本数组的初始化相似,eg:
public class Array6{ public static void main(String[] args){ String[] s1={new String("abc"),new String("kor")}; String[] s2=new String[]{new String("你好"),new String("高兴")}; System.out.println(s1[0]); System.out.println(s2[1]); }}//结果:abc、高兴
注:如果创建了数组不对其进行初始化,系统会根据其类型自动为各元素赋值。如果所创建的数组为基本数据类型,系统会为元素赋值为0,如果是对象类型数组,系统会为元素赋值为 null。
4.二维数组
将几个一维数组结合起来而形成的一个新的数组,我们称之为二维数组。
Java中使用[][]表示二维数组。int [][] a;其中,a为整型的二维数组的引用(变量)。 a=new int[3][]; 创建了3个一维数组的引用a[0],a[1],a[2],并使用a引用它们,[3][]中,后一个括号为空,表示一维数组中并没有对象存在。给一维数组的引用a[0],a[1],a[2]分配对象如下:a[0]=new int[5]; a[1]=new int[4]; a[2]=new int[3]; 给a[0]的第一个元素赋值为10为:a[0][0]=10;注意数组元素下标是从0开始的。
二位数组是以“int [][]a”的形式定义的,所以我们可以给a[x][y]赋整数值.给a[2]的第三个元素赋值方法如下:a[2][2]=20.
类似的,二维数组如果不对其初始化赋值,默认的值也是0或null。
二维数组的长度由a[x][y]中x和y决定,其中值x是二维数组的长度。y是二维数组中一维数组的长度。
int [][]a=new int [5][]; System.out.println(a.length);......................//结果为5 a[0]=new int[4]; System.out.println(a[0].length);...................//结果为4,二维数组中第一个一维数组的长度。
5.三维数组
三维数组是由二维数组形成的数组。int[][][]=new int[2][][]; new int[2][][]表示创建二维数组的引用数组,即创建a[0]与a[1],后两个括号是空表示二维数组的对象还不存在
a[0]=new int[2][]; ...........//x1 ;
a[1]=new int[3][] ............//x2
x1行a[0]是一个二维数组的引用,所以我们可以给他赋一个一维数组的引用数组,即a[0][0]、a[0][1]。同理,x2行创建了3个一维数组的引用。
a[0][0]=new int[4];....//x1
a[0][1]=new int[4];....//a[0][1][0],a[0][1][1],a[0][1][2],a[0][1][3]
x1行创建了一个拥有4个元素的整型数组,并使a[0][0]引用它,数组元素为a[0][1][0],a[0][1][1],a[0][1][2],a[0][1][3],其他几行一次类推。
定义二维数组的方法:int[][] a; int[] a[]; int a[][]; 第一种用的较广泛。
创建数组:int[] a,b;如果这样定义,b将与a一样都是一个一维数组。 int a[],b[];若这样定义,则b为二维数组的引用。int a[],b;这样b为整型变量而非数组。
问题思考
(1)创建一个整型数组f,他拥有20个元素,并将它的各个元素赋值如下,然后,输出它们。
f[0]=1,f[1]=2,f[2]=3,.......f[i]=f[i-1]+f[i-2].
(2)创建一个整型数组md,它拥有100个元素,且各个元素的值为0.0—1.0之间的任一随机数,然后再求各个元素的平均值。
(3)创建一个字符型二维数组,根据执行结果为个元素赋值,然后输出各元素。
ABCDEFGHIJ
CDEFGHIJKL
EFGHIJKLMN
GHIJKLMNOP
(4)定义一个五子棋盘类,使其满足下面条件,并且创建对象,进行测试。五子棋盘有15X15个格子组成,在坐标(x,y)位置上,可以防止“黑子”和“白子”,并且可以判断位于(x,y)位置上的棋子是何种棋子。同时,此类也是提供一个拥有判断成败的方法。
转载请注明: ITTXX.CN--分享互联网 » Java语言学习—第六章 数组[Java基础]
最后更新:2018-09-27 17:46:17