第七章数组和向量 ■课程内容:数组、对象数组、 数字包装类、 命令行参数、通用类、向量 ■授课时间:2005/03/30 ■教学目标:了解数组的概念,掌握数组的操作; 了解数字包装类和向量 ■ 重点:数组及数组的操作,向量类 ■教学方法:讲授 ■教学过程:(省略) ©2006计算机系杨厚群 All rights lefts reserved
©2006 计算机系 杨厚群 All rights & lefts reserved. 课程内容: 数组、对象数组、数字包装类、 命令行参数、通用类、向量 授课时间:2005/03/30 教学目标:了解数组的概念,掌握数组的操作; 了解数字包装类和向量 重点:数组及数组的操作,向量类 教学方法:讲授 教学过程:(省略) 第七章 数组和向量
数组介绍 用来存储一组相同类型数据的数 myList[O] 据结构;数组是对象;不能改 myList[1] 变大小 myList[2] myList[3] myList[4] 例如:一个doub1e数据类型的10 myList[5] 个元素的数组 myList[6] myList[7] myList[8] double[]myList new double[10] myList[9] ©2006计算机系杨厚群 All rights lefts reserved
©2006 计算机系 杨厚群 All rights & lefts reserved. 用来存储一组相同类型数据的数 据结构;数组是对象;不能改 变大小 例如:一个double数据类型的10 个元素的数组 double[] myList = new double[10] 数组介绍 myList[0] myList[1] myList[2] myList[3] myList[4] myList[5] myList[6] myList[7] myList[8] myList[9]
声明、创建数组 声明:数组元素类型[门 数组名 创建:数组名=new 数组元素类型[数组元 素个数] int myList[☐: int[]myList new int[10]; ©2006计算机系杨厚群 All rights lefts reserved
©2006 计算机系 杨厚群 All rights & lefts reserved. 声明: 数组元素类型[] 数组名 创建: 数组名 = new 数组元素类型[数组元 素个数] int myList[]; int[] myList = new int[10]; 声明、创建数组
初始化数组 使用循环: for (int i =0;i<myList.length;i++) myList[i]i; 声明,创建,初始化同时完成: doub1e[]myList={1.9,2.9,3.4,3.5}; ©2006计算机系杨厚群 All rights lefts reserved
©2006 计算机系 杨厚群 All rights & lefts reserved. 初始化数组 使用循环: for (int i = 0; i < myList.length; i++) myList[i] = i; 声明,创建,初始化同时完成: double[] myList = {1.9, 2.9, 3.4, 3.5};
范例:成绩排队 丛健盘读取学生成绩(整数) 取得最好成绩 然后根据下表沤成绩进行等级划分 Grade is A if score is >best-10; Grade is B if score is >best-20; Grade is c if score is >=best-30; Grade is D if score is >best-40; Grade is F otherwise. 源码 ©2006计算机系杨厚群 All rights lefts reserved
©2006 计算机系 杨厚群 All rights & lefts reserved. 范例:成绩排队 从键盘读取学生成绩(整数),取得最好成绩 ,然后根据下表将成绩进行等级划分 − Grade is A if score is >= best–10; − Grade is B if score is >= best–20; − Grade is C if score is >= best–30; − Grade is D if score is >= best–40; − Grade is F otherwise. 源码
范例:数组排序 selectionSort方法对一个浮点数数组进行排 源码 ©2006计算机系杨群 All rights lefts reserved
©2006 计算机系 杨厚群 All rights & lefts reserved. 范例:数组排序 selectionSort方法对一个浮点数数组进行排 序 源码
范例:Linear Search 实现一个Linear Searchf的方法,创建 一个令 10个随机整数的数组,然后由由户输入欲香我 的数字,通过Linear Search方法进行杳找 源码 ©2006计算机系杨厚群 All rights lefts reserved
©2006 计算机系 杨厚群 All rights & lefts reserved. 范例:Linear Search 实现一个Linear Search的方法,创建一个含 10个随机整数的数组,然后由用户输入欲查找 的数字,通过Linear Search方法进行查找 源码
对象数组 声明与创建 Circle[]circleArray new Circle[10]; 初始化 for (int i=0;i<circleArray.length;i++) f circleArray[i]=new Circle(); ©2006计算机系杨厚群 All rights lefts reserved
©2006 计算机系 杨厚群 All rights & lefts reserved. 对象数组 声明与创建 Circle[] circleArray = new Circle[10]; 初始化 for (int i=0; i<circleArray.length; i++) { circleArray[i] = new Circle(); }
范例:统计圆面积 统计一个圆数组的面积 源码 ©2006计算机系杨厚群 All rights lefts reserved
©2006 计算机系 杨厚群 All rights & lefts reserved. 范例:统计圆面积 统计一个圆数组的面积 源码
复制数组 数组变量指向相同的数组 int [luckyNumbers smallPrimes; luckyNumber [5]12;/smallPrime [5]=12 利用循环: int [sourceArray (2,3,1,5,10}; int [targetArray new int [sourceArray.length] for (int i=0;i sourceArrays.length;i++) targetArray[i]=sourceArray [i]; ©2006计算机系杨厚群 All rights lefts reserved
©2006 计算机系 杨厚群 All rights & lefts reserved. 复制数组 数组变量指向相同的数组 int[] luckyNumbers = smallPrimes; luckyNumber[5] = 12; // smallPrime[5]=12 利用循环: int[] sourceArray = {2, 3, 1, 5, 10}; int[] targetArray = new int[sourceArray.length]; for (int i = 0; i < sourceArrays.length; i++) targetArray[i] = sourceArray[i];