欢迎您的光临,本博所发布之文章皆为作者亲测通过,如有错误,欢迎通过各种方式指正。

教程  Java语言学习—第六章 数组[Java基础]

Java 原创 1137 0评论

内容概要:

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

赞 (2) or 分享 ()
游客 发表我的评论   换个身份
取消评论

表情
(0)个小伙伴在吐槽