- 1、本文档共57页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第五 数组
第5章 数组与字符串 5.1 数组的基本概念 5.2一维数组 5.3 多维数组 5.4 字符串 引言 在程序设计中,数组是常用的数据结构。无论是在面向对象的程序设计中,还是面向过程的程序设计中,数组都起着重要的作用。 从数组的构成形式上可以分为一维数组和多维数组。 5.1 数组的基本概念 所谓数组就是相同数据类型的元素按一定顺序排列的集合。在Java中数组元素可以由简单数据类型的量组成,也可以由对象组成。数组中的每个元素都具有相同的数据类型,可以用一个统一的数组名和一个下标来惟一地确定数组中的元素。 5.1 数组的基本概念 为了充分地理解数组的概念,首先介绍一下Java有关内存分配的知识。Java把内存分为两种:栈内存和堆内存。 在方法中定义的一些基本类型的变量和对象的引用变量都在方法的栈内存中分配,当在一段代码块中定义一个变量时,Java就在栈内存中为这个变量分配内存空间,当超出变量的作用域后,Java会自动释放掉为该变量所分配的内存空间,该内存空间可以立即被另作他用。 5.1 数组的基本概念 堆内存用来存放由new运算符创建的对象和数组,在堆中分配的内存,由Java虚拟机的自动垃圾回收器来管理。在堆中创建了一个数组或对象后,还可以在栈中定义一个特殊的变量,让栈中的这个变量的取值等于数组或对象的在堆内存中的首地址,栈中的这个变量就成了数组或对象的引用变量,引用变量实际上保存的是数组或对象在内存中的地址(也称为对象的句柄),以后就可以在程序中使用栈的引用变量来访问堆中的数组或对象。引用变量就相当于是为数组或对象起的一个名称。 ●数组是相同数据类型的元素的集合; ● 数组中的各元素是有先后顺序的,它们在内存中按照这个先后顺序连续存放在一起; ● 数组元素用整个数组的名字和它自己在数组中的顺序位置来表示。例如,a[0]表示名字为a的数组中的第一个元素,a[1]代表数组a的每二个元素,依次类推。 5.2 一维数组 一维数组是最简单的数组,其逻辑结构是线性表。要使用一维数组,需要经过定义、初始化和应用等过程。 5.2.1 一维数组的定义 在使用Java的数组,一般要经过三个步骤:一是声明数组,二是创建空间,三是创建数组元素并赋值。前两个步骤的语法如下: 数据类型[ ] 数组名; //声明一维数组 数组名=new 数据类型[个数]; //分配内存组数组 5.2.1 一维数组的定义 数组声明之后,接下来便是要分配数组所需的内存,这时必须用运算符new,其中“个数”是告诉编译器,所声明的数组要存放多少个元素,所以“new”运算符是通知编译器根据括号里的个数,在内存中分配一块空间供该数组使用。 创建数组 创建数组—为数组分配内存空间。 格式:数组名=new 类型[元素个数]; 例:int[] num; num=new int[3]; 声明和创建数组可以合并 类型 数组名[]=new 类型[元素个数]; 例:int[] num=new int[3]; 创建数组时,自动为数组元素初始化。 (可把数组元素当作类成员变量) 为数组分配内存空间(1) 为数组分配内存空间(2) 为数组分配内存空间(3) 5.2.2一维数组元素的访问 要想使用数组里的元素,可以利用数组名和下标来实现。数组元素的引用方式为: 数组名[下标] 其中“下标”可以是整型数或表达式。如a[3+i](i为整数)。Java数组的下标是从0开始的。如: int[] x= new int [10]; 其中x[0]代表数组中第1个元素,x[1]代表第2个元素,x[9]为第10个元素,也就是最后一个元素。 确定数组的大小 为了获得数组的大小,可以使用下面的代码: 数组名.length; 注意,不能在length后面加一个圆括号( ),否则造成错误,因为length不是一个方法。 访问数组元素 在访问数组元素时,要特别注意下标的越界问题,即下标是否超出范围。如果下标超出范围,则编译时产生名为ArrayIndexOutOfBoundsException的错误,提示用户下标越界。 如果使用没有初始化的数组,则产生名为NullPointException的错误,提示用户数组没有初始化。 【例5.1】声明一个一维数组,其长度为5,利用循环对数组元素进行赋值,然后再利用另一个循环逆序输出数组元素的内容。程序代码如下: //app5_1.java 一维数组 public class app5_1 { public static void main(String args[ ]) { int i; int a[]; //声明一个数组a a=new int[5];
您可能关注的文档
- 第二 二维图形的绘制.ppt
- 第二 个人独资企业和合伙企业.ppt
- 第二 信用.ppt
- 第二 函数的微分.ppt
- 第二 关系数据库.ppt
- 第二 二极管及基本电路.ppt
- 第二 初等函数微分法.ppt
- 第二 四声及押韵.ppt
- 第二 古希腊哲学(公选1).ppt
- 第二 质点动力学.ppt
- 2-红河州建筑施工安全生产标准化工地复核评分表(2022年修改版).docx
- 6.锡通项目2018年下半年工作会汇报材料(2018.7.9).docx
- 2018道路工程知识点汇总(新版).docx
- 附件3:月度生产例会安全汇报资料-站台门项目部.docx
- 附件2:广东建工集团2018年度科技成果汇总表.DOC
- 马武停车区、三汇停车区停车位管理系统,0#台账缺量.doc
- 攀成钢委办发〔2015〕19号(党风廉政建设责任考核与追究办法).doc
- 1-红河州建筑工程质量管理标准化复核评分表(2022年修改版).docx
- 中交第三公路工程局第四工程分公司项目经济合同结算管理办法(修订).doc
- 厂站安全操作规程汇编.doc
最近下载
- 2025入党积极分子考试试卷(含答案).docx VIP
- 空调维修保养服务方案(技术方案).pdf
- 中医基础理论(暨南大学)中国大学MOOC慕课章节测验答案(课程ID:1206450825).pdf
- 高级卫生专业技术资格考试慢性非传染性疾病控制(088)(正高级)试卷及解答参考.docx VIP
- 大学英语四级考试高频词汇1500(打印版).pdf VIP
- 2025年医学分析-心脏再同步化治疗(CRT).pptx VIP
- 慢性非传染性疾病控制(088)(副高级)高级卫生专业技术资格考试2024年复习试题及解答参考.pdf VIP
- 我国未成年人专门矫治教育制度研究.docx VIP
- 北京市属高校国外访问学者英文简历模板.doc
- 工厂电工安全培训.pptx VIP
文档评论(0)