版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第5章 数组,熟练使用一维数组和二维数组; 会创建类的数组; 了解锯齿形数组; 数组元素排序算法 二分法查找,5.1 数组的概念,数组:具有相同类型的数据的集合; 数组的名称:数组有一个名字; 数组的类型:数组中所有元素具有相同的类型; 数组的元素:数组中的一个数据,称为一个元素; 数组的索引:元素的序号,一定要是int型,或能转换成int型的,第一个元素的索引从0开始; 数组的长度:整个数组的元素个数。,5.2 数组的分类 基本数组;对象的数组;,5.3 一维数组,正确的声明方式: int a;int a; java中习惯用第一种方式 直接初始化: int a = 1, 2, 3, 4;(只
2、能放在一行) int a = new int 1, 2, 3, 4;(可以放在两行) 动态初始化: int a = new int10;(可以放在两行) 动态初始化时,所有数组会自动初始化,基本数据类型其值分别为:0, 0.0f, 0.0, false, u0000;对象为:null;,数组的长度可由数组的属性length获得; 数组元素的索引从0开始,aa.length是错误的数组元素访问,运行时会出现异常。 int a = new int 4, 5, 8; int i1 = a1; int b = new int3; b = a; 数组元素的遍历,增强for循环; for(int x :
3、a) System.out.println(x); 数组元素的复制: arraycopy(源数组,复制源起始索引,目标数组, 复制目标起始索引,复制长度),对象的数组: Person arrP = new Personnew Person(), new Person (20, “xiaowang”), new Person (10, “lisi”); int age = arrP1.getAge();,5.4 数组的数组(多维数组),n维数组中存放一个n-1维的数组; 正确的声明方式: int a; int a; int a; Java中习惯用第一种声明方式; 直接初始化: int a = 1
4、, 2, 3, 4, 5, 6;(只能放在一行) int a = new int 1, 2, 3, 4, 5, 6; 动态初始化: int a = new int32; 两维的长度都指定 int a = new int3; 只指定第一维的长度 a0 = new int2;第一个下标表示行数,第二个下标表示列数 a1 = new int2; 此二维数组中包含3个一维数组,每个 a2 = new int2;一维数组中有两个元素a0是个一维数组,多维数组的长度: a.length表示第一维的长度(行数),a0.length表示第一行的元素个数。 多维数组元素的访问: 多维数组的索引也是从0开始的;
5、a12表示第二行第三个元素; 对于上页中的数组a32也是错误的引用。 多维数组元素的遍历。 for(int x : a) for(int y : x) System.out.println(y); 用多维数组存放九九乘法表,并将其输出。,5.5 锯齿形数组,直接初始化: int a = 1, 2, 3, 4, 5, 6; int a = new int 1, 2, 3, 4, 5, 6; 动态初始化: int a = new int3; a0 = new int2; a1 = new int3; a2 = new int1; 用锯齿数组存放杨辉三角,并打印。,数组参数的传递,class Arr
6、ayTest public static void methodA(int i) i+; public static void methodA(int a) a0+; public static void main(String args) int i = 2; int a = new int3; methodA(i); methodA(a); System.out.println(“i = ” + i + “, a0 = ” + a0); ,5.5 数组元素排序,冒泡法排序:依次比较相邻的两个数,将小数放在前面,大数放在后面。即在第一趟:首先比较第1个和第2个数,将小数放前,大数放后。然后比
7、较第2个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放后。至此第一趟结束,将最大的数放到了最后。在第二趟:仍从第一对数开始比较(因为可能由于第2个数和第3个数的交换,使得第1个数不再小于第2个数),将小数放前,大数放后,一直比较到倒数第二个数(倒数第一的位置上已经是最大的),第二趟结束,在倒数第二的位置上得到一个新的最大数(其实在整个数列中是第二大的数)。如此下去,重复以上过程,直至最终完成排序。 案例:将数组arr采用冒泡法排序。 int arr = 2,-3,9,3,-2,0,-6.,5.5数组元素排序续,插入排序法将数组分成两部分,一部分是已经排好序的部分,然后另一部分的每一个元素和排好序部分的元素比较大小确定次序 案例:将数组arr采用插入法排序。 int arr = 2,-3,9,3,-2,0,-6.,5.5 数组元素二分法查找,二分法:当数据量很大适宜采用该方法。采用二分法查找时,数
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- (新教材)2026年沪科版七年级上册数学 5.4 从图表中的数据获取信息 课件
- 白内障患者的家庭护理和家庭照顾
- 第九讲:基因敲除和药学
- 《茄果类蔬菜种苗轻简化嫁接装置高效作业规范》征求意见稿
- 垂直领域发展策略
- 基站休眠技术应用
- 基因编辑脱靶效应-第6篇
- 2025年自动驾驶野生动物避让
- 多层次预警架构设计
- 基础设施耐久性研究-第1篇
- GB/T 45701-2025校园配餐服务企业管理指南
- 2025-2030中国高效节能电机行业竞争力优势与发展行情监测研究报告
- 健身房合伙协议书
- 美甲师聘用合同协议
- 《储能电站技术监督导则》2580
- 保安人员安全知识培训内容
- 垃圾池维修合同范例
- DB31∕T 310001-2020 船舶水污染物内河接收设施配置规范
- 北京市西城区2023-2024学年六年级上学期语文期末试卷(含答案)
- DB11T 850-2011 建筑墙体用腻子应用技术规程
- 2024年天津市南开区翔宇学校四上数学期末检测模拟试题含解析
评论
0/150
提交评论