ImageVerifierCode 换一换
格式:DOCX , 页数:13 ,大小:38.35KB ,
资源ID:6238420      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6238420.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Java语言程序设计讲义第五章.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

Java语言程序设计讲义第五章.docx

1、Java语言程序设计讲义第五章第五章 数组主要内容: 一维数组和多维数组的有关概念和使用方法5.1 数组1数组是相同类型的元素按顺序组成的一种复合数据类型。2数组作为一种特殊的数据类型,具有以下特点: 数组中的所有元素是同一类型 数组中的元素是有顺序的 数组中的元素通过数组名和下标来确定 temp vi j k person3Java中,只有定义数组并建立数组后,数组才能被访问。4在建立数组时,Java会使每个数组元素初始化为默认值0。5若不希望数组的初值为默认值,则要将数组初始化。6Java并不支持多维数组。对多维数组的定义是通过对一维数组的嵌套式定义来实现的。7在Java中,所有数组的起始

2、下标都是0。5.2 一维数组1定义一维数组(声名)格式: type arrayName;说明: type为Java中任意的数据类型(简单类型或组合类型) arrayName为一个合法的标识符;指明是一数组类型变量。例如:int intArray; 堆栈内存区 堆内存区null intArray intArray |2建立一维数组格式: arrayName = new typearraySize;说明: arraySize指明数组的长度。例如:intArray = new int3;/为一个整型数组分配3个int型整数所占据的内存空间。intArray intArray.length intAr

3、ray0 intArray1 intArray2 堆栈内存区 堆内存区 3通常,可以将数组的定义和建立合在一起,格式如下:type arrayName=new typearraySize;例如:int intArray=new int3; 等价于下面的语句, int intArray;intArray=new int3;3初始化一维数组方法1:在定义数组的同时对数组初始化。例:int intArray=2,4,6 /系统自动为数组元素分配内存空间方法2:在定义数组并建立数组后,对数组初始化。例:intArray0=2; intArray1=4; intArray2=6;3数组元素的引用格式:a

4、rrayNameindex说明: index可以是整型常数或表达式。如a3,c6*i (i为整型)。 下标从0开始,一直到数组的长度减1。 如果下标index超出了数组大小的范围,会产生ArrayIndexOutOfBoundException异常。 与C、C+中不同,Java语言对数组元素要进行越界检查以保证安全性。同时,对于每个数组都有一个属性length指明它的长度,例如:intArray.length指明数组intArray的长度。例5.1:对数组中的每个元素赋值,然后按逆序输出。public class ArrayTest public static void main(String

5、 args) int i; int a=new int5; for(i=0;i5;i+) ai=i; for(i=a.length-1;i=0;i-) System.out.println(a+i+=+ai); 4数组间的复制(1) Java语言的数组是作为对象来看待,通过引用来操作的。(2) 将数组传递到方法中时,只传递数组的引用,而不是这个数组元素。(3) 一个数组变量只是生成了一个存放数组的存储位置,而未分配数组元素占用的实际内存空间。(4) 由于数组是对象,将一个数据变量赋值给另一个数组变量时,只是复制数组的引用。例:int inta=intArray; 执行完该语句后,内存空间为:

6、堆栈内存区 堆内存区 intArray inta intArray.length intArray0 intArray1 intArray2 3 2 4 6 (5)数组拷贝的另一种方法是采用java.lang.System类中的 arraycopy()方法。格式: viod arraycopy( Object sourceArray, int sourceArray, Object destinationArray, int destinationArrayStartPosition, int numberOfElementsToCopied);说明: 从源数组的给定位置,拷贝一定长度的子串到

7、目标数组的给定位置。 若拷贝过程中涉及了数组边界之外的数据,则抛出异常ArrayIndexOutOfBoundsException; 若源数组数据由于类型不匹配而无法拷贝到目标数组,则抛出异常ArrayStoreException。 在调用arraycopy方法之前,必须先分配目标数组所用的存储空间。例:int intArray=2,4,6; int a=1,2,3,4,5; System.arraycopy(intArray,0,a,0,intArray.length); 堆栈内存区 堆内存区 intArray intArray.length intArray0 intArray1 intA

8、rray2 a a.length a0 a1 a2 a3 a4 3 2 4 6 |5.3 多维数组与C、C+一样,Java语言中多维数组被看作数组的数组。例如二维数组是一个特殊的一维数组,其每个元素又是一个一维数组。1.二维数组的定义格式: type arrayName;例: int intArray;2.分配内存空间方法1: 直接为每一维分配空间 例: int a=new int23;方法2:从最高维开始,分别为每一维分配空间 例:int a=new int2; a0=new int3; a1=new int3;说明: 与C、C+不同,Java在定义和建立多维数组时,不一定要指明每一维的长度

9、。 建立数组时,数组最前面的1维或n维必须指定元素个数,只有后面的方括号中可以不指定元素个数。例:int a = new int8; 堆栈内存区 堆内存区 a length a0 a1 length a00 a01 a02 length a10 a11 a12 2 3 |3二维数组元素的引用格式:arrayNameindex1index2其中index1、index2可为整型常数或表达式。4二维数组的初始化方法1:直接对每个元素进行赋值。方法2:在定义数组的同时进行初始化。例:int a=2,3,5,1,3,4; 该句定义了一个23的数组,并对每个元素赋值。Java字符数组的定义和使用方法与上

10、述内容完全一样。例:两个矩阵Amn、Bnl相乘得到Cml,每个元素Cij=aik*bkjpublic class MatrixMultiply public static void main(String args) int i,j,k; int a=new int23; int b=1,5,2,8,5,9,10,-3,2,7,-5,-18; int c=new int24; for(i=0;i2;i+) for(j=0;j3;j+) aij=(i+1)*(j+2); for(i=0;i2;i+) for(j=0;j4;j+) cij=0; for(k=0;k3;k+) cij+=aik*bkj;

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1