Java数组ppt课件_第1页
Java数组ppt课件_第2页
Java数组ppt课件_第3页
Java数组ppt课件_第4页
Java数组ppt课件_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数组 本章目标 掌握数组的基本用法如何声明一个数组如何分配空间如何赋值会应用数组解决简单的问题求平均值求最大 最小值排序 Java测试结束后 老师给令狐冲分配了一个任务 计算全班 36人 的平均分 为什么需要数组3 1 intstu1 95 intstu2 89 intstu3 79 intstu4 64 intstu5 76 intstu6 88 avg stu1 stu2 stu3 stu4 stu5 stu36 36 36个变量太繁琐 生活案例 博物架 为什么需要数组3 2 字画类 好办法 分类放 易于找1 格子提供了存储空间2 每一类别都起一个名字3 每件物品都有个标号 古玩类 类比博物架 可不可以把数据归类存放 分类存放不同类型的数据 为什么需要数组3 3 int类型 double类型 char类型 数组在内存中的存储 80 内存 整型数组int b 100 98 整型变量inta 80 数组是一个变量 连续存储相同数据类型的一种结构 int类型 元素 货架名 标识符 古玩 物品编号 元素下标 物品类型 元素类型 数据 数组定义 使用数组 1 声明数组2 分配空间3 赋值4 处理数据 如何使用数组 int a a newint 5 a 0 8 a 0 a 0 10 a 8 80 a 0 只声明未赋值 数组中个元素的值默认为0 数组的声明 Int score1 Java成绩intscore2 C 成绩String name 学生姓名 声明数组 告诉计算机数据类型是什么 1 数据类型数组名 数据类型 数组名 数组初始化 score newint 30 avgAge newint 6 name newString 30 30 分配空间 告诉计算机分配几个格子 数组属于引用数据类型 2 数据类型 数组名 new数据类型 大小 声明数组并分配空间 数组赋值2 1 score 0 89 score 1 79 score 2 76 赋值 向分配的格子里放数据 30 score 0 score 1 score 2 89 79 76 太麻烦 能不能一起赋值 3 数组赋值2 2 方法1 边声明边赋值方法2 动态地从键盘录入信息并赋值 解决 int score 89 79 76 Scannerinput newScanner System in for inti 0 i 30 i score i input nextInt int score newint 89 79 76 使用数组求平均分2 1 对数据进行处理 计算5位学生的Java课程平均分 4 成绩单 利用学生人数与数组下标的关系 从键盘输入学生的成绩 使用数组求平均分2 2 对数据进行处理 计算5位学生Java课程的平均分 4 Scannerinput newScanner System in for inti 0 i 5 i score i input nextInt 数组的length属性2 1 对数据进行处理 输入学生人数 求这些学生的平均分 4 数组名 length 查看数组的长度 数组的length属性2 2 对数据进行处理 计算5位学生Java课程的平均分 4 intsum 0 intnum 0 Scannerinput newScanner System in System out print 请输入学生人数 num input nextInt int score newint num for inti 0 i score length i System out print 请输入第 i 1 位学生的成绩 score i input nextInt sum score i System out print 学生的平均成绩为 double sum score length 常见错误3 1 publicclasszxw publicstaticvoidmain String args int score newint score 0 89 score 1 63 System out print score 0 编译出错 没有写明数组的大小 常见错误3 2 publicclasszxw publicstaticvoidmain String args int score newint 2 score 0 89 score 1 63 score 2 63 System out print score 0 编译出错 数组越界 常见错误3 1 publicclasszxw publicstaticvoidmain String args int score newint 5 score 60 90 80 65 39 int score2 score2 60 90 80 65 39 编译出错 创建数组并赋值的方式必须在一条语句中完成 求最大值3 1 从键盘输入本次Java考试五位同学的成绩 求这五位同学中的最高分 求最大值3 2 擂台 第一个元素到擂台 85 77 35 97 65 85 97 比较 比较 比较 比较 求最大值3 2 max stu 0 if a 1 max max a 1 if a 1 max max a 1 if a 1 max max a 1 根据打擂台的规则 求最大值3 3 计算成绩最大值max score 0 for intindex 1 indexmax max score index System out println 本次考试的五位学生的最高分是 max 使用max存储擂主初识值 第一个元素为擂主 循环打擂 数组小结4 1 Java中都有哪些数组类型 intint doubledouble charchar floatfloat ScannerScanner RandomRandom 数组小结4 2 使用数组的方式方法1 方法2 方法3 int score score newint 36 score 0 89 int score newint 36 score 0 89 int score newint 89 79 76 或 int score 89 79 76 数组小结4 3 声明数组并分配空间 但未赋值 数组各元素默认值 数值类型字符串 int score newint 3 System out println score 1 String name newString 3 System out println name 1 if name 1 null System put println 这个数组下标为1的没有数据 运行结果 默认值为0 运行结果 默认值为null 数组小结4 4 有一个数列 8 4 2 1 23 344 12循环输出数列的值求数列中所有数值的和猜数游戏 从键盘中任意输入一个数据 判断数列中是否包含此数 数组小结4 4 小明要去买手机 他询问了4家店的价格 分别是2800元 2900元 2750元和3100元 显示输出最低价 计算最小值intmin list 0 for inti 0 ilist i min list i 交换 数组排序2 1 使用java util Arrays类java util包提供了许多存储数据的结构和有用的方法Arrays类提供许多方法操纵数组 例如 排序 查询Arrays类的sort 方法 对数组进行升序排列 循环录入5位学生的java成绩 进行升序排序后输出结果 Arrays sort 数组名 数组排序2 2 完整代码演示 importjava util 导入包 int score newint 5 Scannerin newScanner System in System out print 请输入5位同学的成绩 for inti 0 i 5 i score i in nextInt 依次录入5位同学的成绩 Arrarys sort score 排序for intj 0 j score length j System put println score j 输出结果 循环输入学生的成绩并存储在数组中 数组中的元素被重新排列 循环输出数组中的信息 数组排序小结 有一列乱序的字符 a c u b e p f z 排序并按照英文字母表的逆序输出 importjava util 导入包 String zimu newString 8 Scannerin newScanner System in for inti 0 i 0 j System put println zimu j 输出结果 循环输入字母并存储在数组中 数组中的元素被重新排列 循环输出数组中的信息 数组算法5 1 1 数组的复制 arrA arrB 2 1 5 8 7 6 3 10 数组算法5 1 1 数组的复制 int shuzuA 1 2 2 3 4 5 6 7 int shuzuB newint shuzuA length for inti 0 i shuzuA length i shuzuB i shuzuA i 依次将shuzuA的8个元素值复制给shuzuB for intj 0 j shuzuB length j System put println shuzuB j 输出结果 数组B的长度就是数组A的长度 循环复制数组元素值 演示完整代码 数组算法5 2 2 数组的查找 查找叫 麻子 的同学 arrA 每个元素依次查找 找到 麻子 显示 找到此人 未找到显示 查无此人 麻子 数组算法5 2 2 数组的查找 查找叫 麻子 的同学 System put print 请输入要查找的学生的姓名 Stringname in next String xm 张三 李四 王二 麻子 booleanflag false for inti 0 i xm length i if name equals xm i flag true 查到将flag标识置为真break if flag true System put println 找到此人 输出结果 else System put println 查无此人 设置一个标识 完整代码 数组算法5 3 3 数组的插入 16 数组中个元素按升序排列 当最后一个数被替换 则需重新排序 55 与前一个元素比较大小 比前一个数小时 两者交换 16 16 24 16 21 16 18 数组算法5 3 3 数组的插入 int shz 1 32 34 55 61 77 System put println 请输入要插入的数据 intnum in nextInt shz shz length 1 num for inti shz length 1 i 0 i if shz i shz i 1 intt shz i shz i shz i 1 shz i 1 t 后一个元素小于前一个元素时 交换值 for intj 0 j shz length j System put println shz j 输出结果 将输入的数据插入为最后一个元素 输出结果 演示完整代码 比较交换 数组算法5 4 4 数组的冒泡排序 数组中冒泡排序算法是数组中的最基本的算法 25 21 189 1 55 189 189 24 189 77 1 100 100 55 100 24 77 100 1 25 55 24 数组算法5 4 4 数组的冒泡排序 int shz 98 32 21 19 61 55 for intj 0 jshz j 1 intt shz j shz j shz j 1 shz j 1 t 后一个元素小于当前元素时 交换值 重复shz length 1遍 演示完整代码 循环嵌套 双重循环 for inti 0 i shz length 1 i 数组算法5

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论