版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
面向对象程序设计项目教程本章学习目标:●
掌握数组的声明和创建●
掌握数组的初始化●
了解二维数组的定义和访问●
掌握foreach遍历数组●
了解Arrays类的基本应用项目4认识数组任务1part创建数组Java语言支持两种语法格式来定义数组: dataType[]arrayName; dataTypearrayName[];
其中,dataType是数据元素的数据类型,arrayName是用户自定义的数组名称,数组名的命名要符合标识符的命名规则。1.1数组的声明数组的声明1.静态初始化静态初始化的语法格式如下:arrayName=newdataType[]{num1,num2,num3...};在上面的语法格式中,dataType就是数组元素的数据类型,此处的dataType必须与定义数组变量时所使用的dataType相同,也可以是定义数组时所指定的dataType的子类,并使用花括号把所有的数组元素括起来,多个元素之间用逗号隔开。下面代码示例了数组的静态初始化。1.2数组的初始化2.动态初始化动态初始化的语法格式如下:arrayName=newdataType[length];在上面的语法中,需要指定一个数组长度的length参数,也就是可以容纳数组元素的个数。与静态初始化相似的是,此处的dataType必须与定义数组变量时所使用的dataType相同,或者是定义数组时所指定的dataType的子类。下面代码示例了数组的动态初始化。1.2数组的初始化任务2part访问数组访问数组
数组最常用的用法就是访问数组元素,包括对数组元素进行赋值和取出数组元素的值。访问数组元素中某个元素的语法格式如下:arrayName[index]
在上面的语法中,index表示数组的下标索引,其取值范围从0开始,最大值为数组的长度-1。例如,array[0]表示数组array的第1个元素,array[10]表示数组array的第11个元素。数组的长度可以通过“数组名.length”进行获取。如果访问数组元素时指定的下标索引值小于0,或者大于等于数组的长度,编译程序不会出现任何错误,但运行时会出现异常:java.lang.ArrayIndexOutOfBoundsException:N(数组索引越界异常),异常信息后的N就是程序员试图访问的数组下标索引。
访问数组任务3part掌握冒泡排序冒泡排序算法
冒泡排序是一种简单的排序算法。这个算法的名字由来是因为越大的元素会经数据交换慢慢“浮”到数列的顶端而得名,它重复访问要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。
冒泡排序算法的原理如下:1.比较相邻的元素,如果第一个比第二个大,就交换他们两个。2.对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。3.针对所有的元素重复以上的步骤,除了最后一个。4.持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。
下面代码示例了冒泡排序的算法。冒泡排序算法任务4part运用foreach遍历数组foreach语句的语法结构如下所示:for(数据类型
变量名:数组名)
注意,foreach语句中的数据类型必须与数组的数据类型一致。foreach遍历数组Foreach遍历数组任务5part了解二维数组
定义二维数组的基本语法格式如下:dataType[][]arrayName;
二维数组的创建和初始化与一维数组类似,也可以使用静态初始化和动态初始化两种方式
。二维数组二维数组任务6part应用Arrays类
在Arrays类中提供了一个名为sort的方法,利用它可以直接对数组进行排序,而不需要再编写代码。sort()方法在Arrays类中是重载方法,它不仅提供了对基本数据类型的支持,而且也支持对对象进行排序。
6.1数组排序数组排序类Arrays提供了一系列重载的binarySearch()方法可以用二分查找法对指定数组进行检索。binarySearch()方法用于在已经排好序的数组中查找元素。如果找到了要查找的元素,则返回一个等于或大于0的值,否则将返回一个负值,表示在该数组目前的排序状态下此目标元素应该插入的位置。负值的计算公式是“-n-1”,n表示第一个大于查找对象的元素在数组中的位置,如果数组中所有元素都小于要查找的对象,则n为数组的长度,如果数组中包含重复元素,则无法保证找到的是哪一个元素。因此,在调用binarySearch()方法对数组进行检索之前,一定要确保被检索的数组是有序的。下面通过示例演示binarySearch()方法的应用,代码如下。6.2数组检索数组检索Arrays类提供了copyOf()方法和copyOfRange()方法实现数组的复制功能。copyOf()方法的第一个参数为源数组,第二个参数为生成的目标数组的元素个数。如果指定的目标数组元素个数小于源数组元素个数,源数组前面的元素将被复制到目标数组中;如果指定的目标
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 包装工创新实践能力考核试卷含答案
- 真空电子器件金属零件制造工诚信竞赛考核试卷含答案
- 锅炉设备装配工岗前个人防护考核试卷含答案
- 燃气轮机值班员创新应用模拟考核试卷含答案
- 重冶固体物料配料工安全文化模拟考核试卷含答案
- 海水捕捞工8S执行考核试卷含答案
- 中药质检员安全宣教能力考核试卷含答案
- 养蜂员安全生产规范测试考核试卷含答案
- 2024年襄樊市直属机关遴选公务员笔试真题汇编附答案
- 2025年三明医学科技职业学院辅导员招聘考试真题汇编附答案
- 城市轨道交通服务与管理岗位面试技巧
- 江苏徐州泉丰建设工程有限公司招聘笔试题库2025
- 质量、环境与职业健康安全管理方针与目标
- 学堂在线 雨课堂 学堂云 批判性思维-方法和实践 章节测试答案
- 语音厅新人培训课件
- 北京市通州区2024-2025学年七年级下学期期末道德与法治试题(含答案)
- 地质年代学-洞察及研究
- 儿童游乐园安全知识培训课件
- 员工心理健康疏导培训
- TCFLP0030-2021国有企业网上商城采购交易操作规范
- 仪表设备管理规划
评论
0/150
提交评论