欢迎来到天天文库
浏览记录
ID:40238727
大小:1.24 MB
页数:51页
时间:2019-07-28
《Java 2 —面向对象程序设计 Chapter 6》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Chapter6数组与函数要存放一连串相关的数据,使用数组是好的选择。此外,若某程序片段经常重复出现,则将它定义成函数可有效地简化程序代码。本章重点介绍数组的基本用法与函数的应用。数组(array)是由一群相同类型的变量所组成的数据类型,它们以一个共同的名称表示。数组中单个元素则以下标来标示存放的位置。数组依存放元素的复杂程度,分为一维及二维以上的多维数组。6-1一维数组一维数组可以存放上千万个相同的数据,这些数据就像火车的一节节车厢,全部数据串连起来就像一列火车。数组和Java里的变量一样也需要经过声明后才能使用。6-1-1一维数组的声明与
2、内存的分配要使用Java的数组,必须经过两个步骤:(1)声明数组、(2)分配内存给该数组。这两个步骤的语法如下:【格式6-1一维数组的声明与分配内存】数据类型数组名[];//声明一维数组数组名=new数据类型[个数];//分配内存给数组“数据类型”是声明数组元素的数据类型,常见的类型有整数、浮点数与字符等类型。“数组名”是用来统一这群相同数据类型的名称,其命名规则和变量相同配置数组所需的内存,其中“个数”是告诉编译器,所声明的数组要存放多少的元素,而“new”则是命令编译器根据括号里的个数,在内存中配置一块块供该数组使用。下面是一维数组的声明
3、,并分配内存给该数组的范例:intscore[];//声明整型数组scorescore=newint[4];//分配内存空间供整型数组score使用,元素个数为4在上面第一行声明整型数组score时,score可视为数组类型的变量。此时这个变量并没有包含任何内容,编译器仅会分配一块内存给它,用来保存指向数组实体的地址,如图所示。score尚未指向数组实体的地址,所以score的内容为未知上图声明整型数组声明后要做内存分配的操作,即上面第二行语句。这一行会配置4个可供整数保存的内存空间,并把此内存空间的参考地址赋给score变量。其内存分配的流
4、程如下图所示。图中的内存参考地址Ox1000是假赋值,此值会因环境的不同而异。如第3章所述,数组是属于非基本数据类型,因此数组变量score所保存的并非数组的实体,而是数组实体的参考地址。Ox1000[2][0][1][3]scorescorescorescoreOx1004Ox1008Ox1012Ox1000score=newint[4];分配4个整数的内存空间把内存地址赋给Score变量【格式6-2声明数组的同时便分配内存】数据类型数组名[]=new数据类型[个数];在Java中,因整数数据类型所占用的字节为4个bytes,而整型数组sc
5、ore可保存的元素有10个,所以上例中占用的内存共有4*10=40个字节。下图将数组score化为图形表示。数组的保存6-1-2数组中元素的表示方法想要使用数组里的元素,可以利用下标来完成。Java的数组下标编号从0开始。例如,score[0]代表第0个元素,score[1]代表第1个元素,score[9]为数组中第9个元素。下图为score数组中元素的表示法及排列方式。数组元素的排列例子:01//app6_1,一维数组02publicclassapp6_103{04publicstaticvoidmain(Stringargs[])05{0
6、6inti;07inta[];//声明一个整型数组a08a=newint[3];//分配内存空间供整型数组a使用,其元素个数为30910for(i=0;i<3;i++)//输出数组的内容11System.out.print("a["+i+"]="+a[i]+",t");1213System.out.println("lengthofarrayais"+a.length);//输出数组长度14}15}/*app6-1OUTPUT------a[0]=0,a[1]=0,a[2]=0,lengthofarrayais3------------
7、-----------*/1.第7行声明整型数组a;第8行配置了一块内存空间,以供整型数组a使用,其元素个数为3。2.第10~11行,利用for循环输出数组的内容。由于程序中并未给予数组元素赋值,因此输出的结果会是0。3.第13行输出数组的长度。此例中数组的长度为3,即代表数组元素的个数有3个。【格式6-3数组长度的取得】数组名.length若要取得app6_1中所声明的数组a的元素个数,只要在数组a的名称后面加上“.length”即可。即:a.length//输出数组的长度这样有何好处呢?它是数组的高使用率以及Java在数组上所给予的弹性,
8、“.length”像是一颗小小的螺丝钉,在程序的编写上有着意想不到的效果。6-1-3数组初值的赋值若想直接在声明时就给与数组初值,可以利用大括号。只要在数组的声明格
此文档下载收益归作者所有