




已阅读5页,还剩9页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第三章Java语言基础,本章主要内容,3.1数据类型,3.2运算符和表达式,3.5.3数组复制,3.5.4多维数组的使用,3.3条件结构和循环结构,3.4字符串,3.5数组,3.5.2初始化一维数组,3.5.1创建一维数组,3.5.5数组类的使用,3.5数组,数组是一个长度固定的数据结构,它存储多个相同类型的数值数组直接被Java编程语言所支持,但是无论数组是由原始类型构成,或者带有其它类数据,数组也是一个对象数组是一个Object类的一个不明显的扩展,所以可以指定一个数组给一个类型定义为Object的变量,3.5数组,3.5.1创建一维数组在Java中,数组可以是任何类型的原始类型或类类型,也就是说,数组元素可以是原始类型的量,也可以是某一个类的对象数组的创建一般需要以下三个步骤:数组的声明创建数组空间初始化数组,3.5数组,1、数组的声明数组的声明和创建是有区别的,声明只需要确定数组的类型和数组名,格式如下:数组元素类型数组名;例:inta;数组元素类型数组名;例:inta;数组的声明和对象引用的含义相同,只表示某个数组,并没有对应的内存空间。,3.5数组,2、创建数组空间创建是给数组分配内存空间,它可以直接使用new运算符,也可以直接用枚举来创建。格式如下:数组名=new数组元素类型数组长度;创建数组空间的工作可以和声明数组的工作组合在一起,用一条语句来实现。inta;a=newint20;等价于:inta=newint20;或者使用枚举创建数组:intnum=1,2,3,4;,3.5数组,3、初始化数组数组中的各元素是有先后次序的,每个数组元素用数组的名字和它在数组中的位置来表达。在上一节创建的数组a中,a0表示数组a中的第一个元素,a1表示数组a中的第二个元素,依次类推,数组中的最后一个元素为a19初始化数组就是要使数组中的各个元素有确定的数值如果数组元素的类型是基本数据类型,由于基本数据类型都有缺省值,数组元素都自动初始化为缺省值。对于以某个类的对象为数组元素的数组,初始化每个数组元素是必须的。注意:所有的数组都有一个属性length,这个属性存储了数组元素的个数。注意检查数组下标是否越界,3.5数组,3.5.2初始化一维数组初始化是为定义好的数组进行赋值,如用枚举法定义的数组就不需要初始化了。而用new运算符定义的数组则需要根据实际情况赋值根据数组类型,一般分为简单类型数组(数组的元素为8种基本类型)和复杂类型数组(数组元素为其它类)简单类型数组在用new运算符建立时既分配了内存空间又赋上了初始默认值复杂类型数组建立之后每个元素都是空值,3.5数组,数组默认值参见下表,3.5数组,3.5.3数组复制java.lang.System.arraycopy(from,fromIndex,to,toIndex,count)数组的复制可以利用以上方法进行。该方法从数组from的索引fromIndex位置起,复制count个元素到数组to的从索引toIndex位置开始的地方。这里要注意,目标数组必须在调用arraycopy之前分配内存,而且这个内存空间必须足够容纳被复制的数据。,3.5数组,3.5.4多维数组的使用Java没有专门的语法支持多维数组,但Java数组可以放置任何类型的元素,把一维数组放入数组内,那就成了二维数组二维数组的定义语法如下:数组元素类型数组名=new数组元素类型数组长度;或者数组元素类型数组名=new数组元素类型数组长度;多维数组也可以使用枚举定义。由于二维数组在定义时只声明了数组的长度,所以在用new运算符声明二维数组后,都要为数组初始化。例:使用new运算符定义二维数组,并初始化。,3.5数组,3.5.5数组类的使用:在“java.util”包中,提供一个数组类Arrays,该类提供了一些方法用于排序、查找等操作,在编制程序中可以直接使用这些方法。1、排序直接使用sort方法,来对数组做升序排序。sort方法常见的使用形式如下:publicstaticvoidsort(Xxxa)该方法用改进的快速排序方法对指定的数组a进行排序,其中数组a是类型为char、byte、short、int、long、float、double或者boolean的一个数组。sort方法还有另外一种常见的形式:publicstaticvoidsort(Xxxa,intfromIndex,inttoIndex)这种形式只对数组a中指定范围内的元素(从afromIndex到atoIndex之间的元素,其中不包含atoIndex)排序。例:为整型数组排序,3.5数组,2、查找publicstaticintbinarySearch(Xxxa,Xxxv);该方法用折半查找算法在指定的数组a查找值为v的元素。其中数组a是类型为char、byte、short、int、long、float、double或者boolean的一个数组,v是与数组a的元素类型相同的值该方法如果在数组a查找到值为v的元素,则返回该元素的下标;如果没有找到匹配的元素,则返回一个负值r,位置-(r+1)为保持数组有序时值为v的元素应该插入的位置,3.5数组,3、填充publicstaticvoidfil
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 抛光线安全培训课件
- 2025年新型铁合金用封接玻璃项目发展计划
- 2025年高密度聚乙烯土工膜项目建议书
- 2025年临床路径信息系统项目合作计划书
- 2025年SIC涂层石英玻璃管合作协议书
- 2025年广西桂林十八中中考数学三模试卷(含答案)
- 2025年民用高端线缆合作协议书
- 家庭保洁考试流程及答案
- 2025年江苏医疗考试题型及答案
- 慢阻肺的护理
- 《食堂食品安全管理制度》知识培训
- 《大学生就业指导》课件第六章 就业权益与法律保障
- 2025年事业单位招聘工作人员考试笔试试题(含答案)
- 新版部编人教版二年级上册语文全册1-8单元教材分析
- 浙江爱生药业有限公司新增年产12亿单位药品制剂自动生产检测线升级技术改造项目环评报告
- 2025~2026学年新人教版八年级英语上册教学计划
- 2025年事业单位工勤技能-河南-河南农业技术员一级(高级技师)历年参考题库含答案解析(5卷套题【单选100题】)
- 2025年不动产登记业务知识试题及答案(司法考试资料)
- 2025年三力模拟测试题及答案
- (新教材)2025年秋期人教版二年级上册数学核心素养教案(第2单元)(教学反思有内容+二次备课版)
- 脑脓肿病例分析课件
评论
0/150
提交评论