Java程序设计数组ppt课件.pptx

上传人:牧羊曲112 文档编号:1995364 上传时间:2022-12-30 格式:PPTX 页数:27 大小:340.61KB
返回 下载 相关 举报
Java程序设计数组ppt课件.pptx_第1页
第1页 / 共27页
Java程序设计数组ppt课件.pptx_第2页
第2页 / 共27页
Java程序设计数组ppt课件.pptx_第3页
第3页 / 共27页
Java程序设计数组ppt课件.pptx_第4页
第4页 / 共27页
Java程序设计数组ppt课件.pptx_第5页
第5页 / 共27页
点击查看更多>>
资源描述

《Java程序设计数组ppt课件.pptx》由会员分享,可在线阅读,更多相关《Java程序设计数组ppt课件.pptx(27页珍藏版)》请在三一办公上搜索。

1、第4章 数组,引入数组的必要性,01,数组的概念,02,一维数组的创建及使用,03,二维数组的创建及使用,04,本章主要内容,专题应用:数组元素的排序,05,第1节 数组的引入,基本数据类型的变量只能存储一个不可分解的简单数据,如一个整数或一个字符等。但在实际应用中,有时需要处理大量的数据。例如:统计某专业英语四级考试的平均成绩,在这里假定该专业有100名学生。那么,如何存储这上百名学生的成绩呢?在程序中又如何利用表达式计算所有学生成绩的累加和,进而计算出平均成绩?,上述问题,如果采用基本数据类型来存储学生的成绩,则需定义如下100个浮点型变量:float x0;float x1;float

2、x98;float x99;,使用数组可以将定义成绩变量的语句改写为: float x = new float100;,第1节 数组的引入,简化程序代码使变量的管理较为方便和统一,并且节省了命名空间使用统一的名字“x”来管理数组中的每一个元素x0、x1、x98和x99。有利于体现数据之间的逻辑关系在许多场合,解决问题所涉及的变量之间存在某种内在联系,而又不想用单独的变量来命名时,也可以考虑使用数组。例如,三维坐标系中一个点的坐标值就可以用一个一维数组(x,y,z)来表示,类似地,一个矩阵可以用二维数组来表示。,引入数组的必要性,第1节 数组的引入,数组的定义:数组是Java语言的一种引用数据类

3、型,它是具有相同类型的一组数据的集合。数组中元素的数据类型既可以是基本数据类型,也可以是引用数据类型。,数组的特征:,数组中每个元素的数据类型都是相同的。数组一经创建,其大小就固定下来,且不可以改变。 数组中的各个元素都是有顺序的。 所有元素共用一个数组名,通过数组名和数组下标来唯一地确定数组中的元素。 数组要经过声明、创建及赋值后,才能被使用。,第2节 一维数组,数据类型 数组变量; 或 数据类型 数组变量;,数组变量 = new 数据类型长度;,(1) 声明数组变量,(2) 创建数组,变量scores不指向任何数组对象,scores = null;,变量scores指向数组对象的第一个元素

4、,也可以将以上两个步骤组合为一条语句:float scores = new float3;,一维数组的使用步骤,第2节 一维数组,(3)数组元素的赋值,(4)使用数组,使用数组元素与数组元素的赋值相同,可采用如下的形式:数组变量索引,数组变量索引 = 常量 或 表达式,第2节 一维数组,例:程序4-1中可如下改写: float scores = new float3; float sum = 0.0F; for (int i = 0; i scores.length; i+) scoresi = (float) (Math.random() * 100); sum += scoresi; fl

5、oat avg = sum / scores.length;,Java语言自动为每个数组变量提供length属性用来表示数组中元素的个数。使用点运算符便可获得数组的长度,其格式为:数组变量.length,使用new创建数组时系统自动给length赋值。数组一旦创建,其length属性就确定下来。程序运行时可以使用“数组变量.length”进行数组边界检查:下标从0开始,一直到length-1。,一维数组的长度,1. 下列关于数组的描述错误的是_。,数组的长度通常用length 表示,数组的下标从0 开始,数组元素是按顺序存放在内存中的,数组在赋初值和赋值时都不判界,A,B,C,D,提交,第2节

6、 一维数组,使用new关键字创建直接赋值创建数组即声明数组变量的同时为数组元素赋值,,int a; /先声明 a = new int2; /再创建 a0 = 4; /给数组元素赋值 a1 = 7; char c = new char2; /声明和创建一起完成 c0 = a; c1 = b;,int intArray = new int1, 2, 3, 4; 可以简写作: int intArray = 1, 2, 3, 4;,直接赋值创建,注:直接赋值创建,new 后不能指定长度,长度由系统自动计算。,创建一维数组的两种方法,2. 下面哪条语句定义了5个元素的数组_。,int a=22,23,2

7、4,25,12;,int a =new int(5);,int 5 array;,int arr;,A,B,C,D,提交,第2节 一维数组,03 int data = 31, 41, 59, 26, 53, 58, 97, 93, 23, 84;04 int i = 0, k = 0, max_data = data0;05 for (; i data.length; i+) 06 if (max_data datai) 07 max_data = datai;08 k = i;09 10 11 System.out.println(数组中索引为+k+的元素值最大,其值为:+max_data)

8、;,数组元素的查找,程序4-3:找出一维整型数组中的最大元素及其所在的位置。,第3节 二维数组,现实事物往往难以通过一维进行描述。例如平面上的图形描画。我们知道描画图形,当坐标原点确定时,只需知道组成图形的各个点的坐标就可以描画出点,进而描画出图形。那么,在Java语言中采用何种数据类型来存放这些点的坐标呢?,要想描画平面上的任一图形,就必须建立图形点的集合。集合可以采用数组形式进行描述,但图形上的点有两个属性,一个是横向坐标,另一个是纵向坐标。使用一维数组只能确定其中的一个属性。这种场合就需要使用二维数组来存储点的坐标值。,第3节 二维数组,Java语言并没有真正意义的二维数组。因为Java

9、 语言的数组是引用数据类型,数组的元素可以是基本数据类型的数据,也可以是字符串或是数组这样的引用数据类型。如果一个一维数组中的元素又是一个一维数组,我们就称其为二维数组。一维数组通过一个下标唯一确定一个元素,二维数组则通过二个下标唯一确定一个元素。,二维数组的特征,第3节 二维数组,(1)声明二维数组变量,数据类型 数组变量;或数据类型 数组变量;,例:float scores; /声明一个单精度浮点型二维数组变量scoreschar strs; /声明一个字符型二维数组变量strs,二维数组的使用步骤,第3节 二维数组,例:float points; /声明二维数组变量pointspoint

10、s = new float1002; /创建100行2列的float型数组, /可用于描述100个平面上的点/声明二维数组变量的同时创建3行4列的整型数组int a = new int34;,使用new关键字创建,数组变量 = new 数据类型第一维长度第二维长度;,(2)创建二维数组,第3节 二维数组,数组变量 = new 数据类型第一维长度第二维长度;,直接赋值创建,声明数组变量的同时可以通过直接赋初值的方法创建二维数组。,例:int twoDim = 63, 90, 75, 85, 100, 95 ;,说明: 直接赋值方法创建二维数组,不必指出数组每一维的大小,系统会根据 初始化时给出的

11、初始值的个数自动算出数组每一维的大小。 二维数组的值是由两层大括号括起来的,大括号不可以省略。,第3节 二维数组,(3)二维数组元素的赋值与使用,一维数组是通过一个下标来唯一确定数组中的元素,同样、二维数组是通过两个下标来唯一确定数组中的一个元素。 二维数组元素的一般形式:二维数组变量索引1索引2,例:int a = new int32;a00 = 1;a01 = 2;a10 = 3;a11 = 4;a20 = 5;a21 = 6;,第3节 二维数组,长度相同的二维数组元素规则排列成矩阵,所以称之为矩阵型数组。反之,每一维大小不同的二维数组称为非矩阵型数组或不规则二维数组。,创建非矩阵型二维数

12、组的方法:,直接赋值创建,例:int arr = 3, 14, 159, 26, 53, 5, 897, 93, 238 ,非矩阵型的二维数组,第3节 二维数组,使用new关键字创建,需分别创建数组的高维和低维:先创建数组第一维即先确定第一维的长度,然后再创建数组的第二维,便可创建非矩阵数组。,例: int arr = new int3; arr0 = new int4; arr1 = new int2; arr2 = new int3;,注:使用new关键字创建非矩阵型数组时,必须先创建第一维,后创建第二维。 比如下面是错误的数组声明。 int arr1 = new int4; /不能先创建

13、数组的第二维,例:矩阵型数组float points = new float1002;,第3节 二维数组,二维数组的长度,3. 执行下面的程序段后twoDim.length的值为_。int twoDim=new int2;twoDim0=new int4;twoDim1=new int8;,2,4,8,64,A,B,C,D,提交,村庄位置坐标包括横坐标和纵坐标,因此使用二维浮点型数组存放村庄的位置。应该选择与其他各村的距离和最小的村庄设立邮局。,第3节 二维数组,/主要程序代码:计算各村与其他村的距离总和 12 for (int i = 0; i totalDistance) 19 cente

14、rVillage = villages i; /记录中心村 20 shortestDistance = totalDistance; 21 22 ,程序4-6:有一组位置(坐标)已知的村庄,现需选择其中一个村庄设立邮局,该如何选定呢?,计算平面上两点之间的距离,第4节 多维数组,如果n-1维数组的元素仍为一维数组,那么就构成了n维数组。二维及二维以上的数组均称为多维数组。,Java语言中并没有真正的多维数组,只有数组的数组。,二维以上数组的声明、创建及使用方法与二维数组类似。例如,三维数组的声明为:数据类型 数组变量;四维数组的声明为: 数据类型 数组变量;,Java多维数组的说明,第5节 专

15、题应用,排序是程序设计中的常见功能,其排序算法也有很多种。其中,冒泡排序法(Bubble Sort)简单易懂、实现也较为方便,故本程序采用冒泡法对数组进行排序。冒泡排序法的基本思想:依次比较相邻的两个数,将小数放在前面,大数放在后面。,使用冒泡法实现数组元素的排序,第5节 专题应用,程序4-7:设计程序对学生的成绩进行排序,统计各分数段的人数,并输出统计的结果。,成绩输入的功能;对于给定的成绩数据进行排序的功能;按各分数段统计人数的功能;数组元素的输出功能。,程序应提供如下功能:,05 /通过标准输入创建成绩数组,在此,数组的长度设为1006 float scores = ArrayOperator.input(10);07 08 ArrayOperator.sort(scores); /排序09 ArrayOperator.output(scores); /输出排序后数组元素10 ArrayOperator.stat(scores); /按10分单位统计各分数段的人数,实验与作业,上机实验完成实验6、实验7的内容 课后作业完成习题与实践教材中第4章中的全部习题,感谢您的关注,Thank You for Your Attention,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号