欢迎来到天天文库
浏览记录
ID:36203844
大小:850.00 KB
页数:20页
时间:2019-05-07
《java数组和随机数》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、数组2.3数组在Java语言中,数组是一种最简单的复合数据类型(引用数据类型)。数组是有序数据的集合,数组中的每个元素具有相同的数据类型,可以用一个统一的数组名和下标来唯一地确定数组中的元素。数组有一维数组和多维数组。我们将在后面的课程中介绍。2.3数组——一维数组:定义一维数组的定义方式为:type[]arrayName;其中类型(type)可以为Java中任意的数据类型,包括简单类型和组合类型,数组名arrayName为一个合法的标识符,[]指明该变量是一个数组类型变量。例如:int[]intArray;声明了一个整型数组,数组中的每个元素为整型数据。我们还可以
2、定义一个复合类型的数组,例如:Date[]dateArray;声明了一个容纳复合数据类型Date的数组。与C、C++不同,Java在数组的定义中并不为数组元素分配内存,因此[]中不用指出数组中元素的个数,即数组长度,而且对于如上定义的一个数组是不能访问它的任何元素的。必须经过初始化后,才能应用数组的元素。2.3数组——一维数组:定义除了这种定义数组的方式之外,java语言还提供了其他的定义形式,如下所示:TypearrayName[];对于以上举出的例子,我们也可以这样定义:intintArray[];DatedateArray[];2.3数组——一维数组:定义一维
3、数组定义之后,必须经过初始化才可以引用。数组的初始化分为静态初始化和动态初始化两种:静态初始化:在定义数组的同时对数组元素进行初始化,例如:int[]intArray={1,2,3,4};//定义了一个含有4个//元素的int型数组。2.3数组——一维数组:初始化动态初始化:使用运算符new为数组分配空间,对于简单类型的数组,其格式如下:typearrayName[]=newtype[arraySize];type[]arrayName=newtype[arraySize];对于复合类型的数组,需要经过两步空间分配。首先:typearrayName[]=newtyp
4、e[arraySize];然后:arrayName[0]=newtype(paramList);…arrayName[arraySize-1]=newtype(paramList);2.3数组——一维数组:初始化例如:StringstringArrar[];//定义一个String类型的数组stringArray=newString[3];//给数组stringArray分配3个应用//空间,初始化每个引用值为nullstringArray[0]=newString(“how”);stringArray[1]=newString(“are”);stringArray
5、[2]=newString(“you”);初始化各数组元素2.3数组——一维数组:初始化当定义了一个数组,并用运算符new为它分配了内存空间后,就可以引用数组中的每一个元素了。元素的引用方式为:arrayName[index]index为数组下标,可以是整型常数或表达式,如:arrayName[1],arrayName[i],arrayName[6*i]等。下标是0序的,即从0开始,一直到数组长度减1。2.3数组——一维数组:引用另外,与C、C++中不同,Java对数组元素要进行越界检查以保证安全性。同时,对于每个数组都有一个属性length指明它的长度,例如:in
6、tArray.length指明数组intArray的长度。2.3数组——一维数组:边界检查publicclassArrayTest{publicstaticvoidmain(Stringargs[]){inti;inta[]=newint[5];for(i=0;i<5;i++){a[i]=i;}for(i=a.length-1;i>=0;i--){System.out.println("a["+i+"]="+a[i]);}}}该程序对数组中的每个元素赋值,然后按逆序输出。2.3数组——一维数组:示例运行结果为:C:>javaArrayTesta[4]=4a[3]=
7、3a[2]=2a[1]=1a[0]=02.3数组——一维数组:示例在任何语言中,多维数组都被看作数组的数组。比如二维数组是一个特殊的一维数组,其每一个元素又是一个一维数组。我们主要以二维数组为例来说明,高维数组与此类似。2.3数组——多维数组Stringstr[][]=newString[3][4];Str[0]Str[1]Str[2]二维数组的定义方式typearrayName[][];例如:intintArray[][];也可以采用另一种定义方式:type[][]arrayName;与一维数组一样,这时对数组元素也没有分配内存空间,同样要使用运算符new来分
此文档下载收益归作者所有