【最新】java语言程序设计——数组ppt模版课件_第1页
【最新】java语言程序设计——数组ppt模版课件_第2页
【最新】java语言程序设计——数组ppt模版课件_第3页
【最新】java语言程序设计——数组ppt模版课件_第4页
【最新】java语言程序设计——数组ppt模版课件_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

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

文档简介

第五章 数组v 5.1 一维数组v 5.2 多维数组v 5.3 数组的基本操作v 5.4 数组应用举例v 5.5 数组参数v 5.6 字符串Introductionv 数组, Array(阵列 ) v 变量:存储单个数据v 数组:存储多个数据 具有相同性质的一批数据 Java 数组:用一个变量表示一组相同类型的数据For Examplev 一组 n个学生的成绩数据处理 输入 输出 排序 求最大 求平均值 判断不及格 统计分数段 v 给每一个学生的成绩数据设定一个变量? NO!5.1 一维数组v 数组 一个变量名表示一组数据,每个数据称为数组元素 每个元素通过下标来区分v 一维数组 以一个下标确定数组中的不同元素v 多维数组 多个下标表示一个数组元素v 数组必须先经过申明和初始化后才能使用 数组申明:确定数组名、数组的维数和数组元素的数据类型一维数组的声明v 一维数组声明的格式类型标识符 数组名 或类型标识符 数组名 例:表示学生的成绩 (整数 ),可以声明数组 score:int score ; 表示体重的数组类型为 float的 weight,声明:float weight; Note:方括号可以在 变 量名的后面,也可以在类 型名后面一维数组的初始化v 数组初始化 系统为数组分配存储空间,确定数组元素的个数 用 new 初始化数组数组名 = new 类型标识符 元素个数 v 先声明数组再初始化int sc ;sc=new int10;float weight;weight=new float50l 数组元素通过下标来区分l 下标最小值为 0l 下标最大值为 元素个数减 1l 各元素的存储空间是连续的sc0 sc1sc2sc3sc4sc5sc6sc7sc8sc9一维数组初始化v 在声明的同时进行初始化 即将前述的声明语句、 new语句合并为一条语句:类型标识符 数组名 =new 类型标识符 元素个数或类型标识符 数组名 =new 类型标识符 元素个数例如: int sc =new int10;float weight=new float50v 初始化数组后,通过数组的 length获取元素个数数组 .length例如: n=sc.length; /n=10m=weight.length; /m=50赋初值初始化数组v 可以在声明数组的同时,给数组元素赋初值v 所赋初值的个数决定数组元素的数目v 其格式如下 :类型标识符 数组名 = 初值表 v 初值表是用逗号隔开的初始值,例如:int score=65,34,78,81,56,92,56,87,90,77;65 34 78 81 56 92 56 87 90 77score0 score9使用数组的好处v 减少程序中的变量数量v 统一的数组名,易于理解v 对数据元素的操作可以使用循环语句 一维数组元素的赋值和输出都可以通过 单重循环语句 完成【 例补 5-10】 输入 10个学生的成绩,统计最高分,平均分、不及格人数及高于平均分的人数1.定义数组 sc10用于存放 10个学生成绩2.利用循环语句输入成绩并统计5.2 多维数组v 二维数组的声明 二维数组经常表示一个矩阵 二维数组的声明方式与一维数组类似,只是要给出两对方括号。二维数组声明形式如下:类型标识符 数组名 或类型标识符 数组名例如: int a; / 第一个 叫做行,第二个 叫做列二维数组的初始化v 先声明数组再初始化 用 new初始化二维数组数组名 = new 类型标识符 行数 列数 例如: int a;a=new int34;v 声明同时初始化类型标识符 数组名 =new 类型标识符 行数 列数 或类型标识符 数组名 =new 类型标识符 行数 列数 例如: int a=new int34;int a=new int34;v 数组中各元素通过两个下标来区分v 每个下标的最小值为 0,最大值分别比行数或列数少 1。v 系统为该数组 a的 12个元素分配存储空间,形式如表所示:a0 0 a0 1 a0 2 a03a1 0 a1 1 a1 2 a1 3a2 0 a2 1 a2 2 a2 3行列二维数组的初始化v 初始化后,通过属性 length获取行数和列数 获取数组行数: 数组名 .length 例: a.length /值为 3 获取数组列数: 数组名 行标 .length 例 : a0.length /值为 3int a=new int34;v Java中,二维数组作为一维数组来处理 A可看作一维数组,有 3个元素 a0、 a1、 a2 每个 元素本身是一维数组,例:二维数组的初始化v 在初始化时,可以各行单独进行,允许各行元素不同、int c=new int3; /c为 3行二维数组c0=new int1; /c0具有 1个元素c1=new int3; /c1具有 3个元素c2=new int5; /c2具有 5个元素a00 、 a01、 a02、 a03赋初值初始化二维数组类型标识符 数组名 =初值表 0,初值表 1, 初值表 n;例: int gd=65,34,78,81,56,92,56,87,90, 92, 69, 75;/gd共有 12个元素,元素 gd00, gd01, gd02, gd10 , gd32的初始值分别为 65, 34, 78, , 75,如表所示gd 00 65 gd 01 34 gd 02 78gd 10 81 gd 11 56 gd 12 92gd 20 56 gd 21 87 gd 22 90gd 30 92 gd 31 69 gd 32 75注意 :二维数组元素的赋值和输出可以通过 双重循环语句 完成5.3 数组的基本操作 v 数组的引用 对数组的应用通常是对其元素的引用 数组元素可以被赋值、被输出或参加表达式运算int age=new int3;age0=25;age2=2+age0 ;v 数组的复制 可以通过循环语句 也可以直接将一个数组赋值给另一数组int a=new int6; /将 b数组的各元素值赋值 a数组的相应元素int b=1,2,3,4,5,6;for(int i=0;iaj,position=jv 故第 i轮的选择和交换过程中,要进行 n-i次的比较 for(i=1;iaj) p=j;temp=ai;ai=ap;ap=temp;5.4 数组应用举例 -排序v 另一种排序法 -冒泡法 ,基本思想 : 从数组元素 a(0)到 a(n-1),将相邻的两个数两两进行比较(共比较 n-1次),若前一个数大于后一个数,则进行对调。一趟操作后, a(n-1)已为最大数。 再从数组元素 a(0)到 a(n-2)作同样操作后,结果是a(n-2)成为次大数。 重复以上步骤,直至只剩 a(0)和 a(1)作比较 ,大的数放在 a(1),剩下的 a(0)自然是最小数了 .。数组应用举例 -一维数组【 例补 5-1】 产生 10个 2位正整数,按从小到大排序,输入任一正整数,插入到原有数据序列中,保持从小到大次序不变【 例补 5-2】 任意输入 n个整数,再输入一个整数,查找该数在 n个数中出现的位置和次数。数组 应用 举例 二维数组【 例补 5-3】 输出杨辉三角型 (输出 10行 )1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 1 6 15 20 15 6 1 1 7 21 35 35 21 7 1 1 8 28 56 70 56 28 8 1 1 9 36 84 126 126 84 36 9 1【 例补 5-4】 求一个个位整数构成的 5行 5列方阵对角线上元素之积解题 :定义一个 10行 10列的二维数组 a1010ai0=1;aii=1aij=ai-1j-1+ai-1j主对角线元素下标 :行号和列号相等 ,即 i=j副对角线元素下标 :行号、列号之和等于 4,即 j=4-i数组 应用 举例 -矩阵运算【 例 5-5】 数学中的矩阵在 Java中用二维数组实现,本例中要进行矩阵的加、乘运算。int c=1,2,3,4,5,6,7,8,9;int d=2,2,2,1,1,1,3,3,3;求 c+d, c*d ? 矩阵乘法运算 用数组 c的第 1行各个数与数组 d的第 1列各个数对应相乘后加起来,就是乘法结果中第 1行第 1列的数 ; 用数组 c的第 1行各个数与数组 d的第 2列各个数对应相乘后加起来,就是乘法结果中第 1行第 2列的数; 用数组 c的第 2行各个数与数组 d的第 1列各个数对应相乘后加起来,就是乘法结果中第 2行第 1列的数; 5.5 数组参数v 在 java的过程中,允许参数是数组。在使用数组参数时 : 在形式参数表中,数组名后的括号不能省略,括号个数和数组的维数相等。不需给出数组元素的个数 在实际参数表中,数组名后不需括号class ArrayC4 /例 【 5-6】 计算数组元素平均值public static void main(String args) int c=1,2,3,4,5,6,7,8,9;int j;System.out.println(“ Array c“); for (j=0; jc.length; j+)System.out.print(cj+“ “); System.out.println();System.out.println(“ Array average“); System.out.println( arrayAverage(c); / 调用数组5.5 数组参数 -DEMO/ 通 过 “ 方法 ” 计 算数 组 元素的平均 值 ,数 组 名作 为 形式参数static float arrayAverage(int d)flo

温馨提示

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

最新文档

评论

0/150

提交评论