JAVA语言程序设计——数组

上传人:飞*** 文档编号:54522936 上传时间:2018-09-14 格式:PPT 页数:49 大小:328KB
返回 下载 相关 举报
JAVA语言程序设计——数组_第1页
第1页 / 共49页
JAVA语言程序设计——数组_第2页
第2页 / 共49页
JAVA语言程序设计——数组_第3页
第3页 / 共49页
JAVA语言程序设计——数组_第4页
第4页 / 共49页
JAVA语言程序设计——数组_第5页
第5页 / 共49页
点击查看更多>>
资源描述

《JAVA语言程序设计——数组》由会员分享,可在线阅读,更多相关《JAVA语言程序设计——数组(49页珍藏版)》请在金锄头文库上搜索。

1、第五章 数组,5.1 一维数组 5.2 多维数组 5.3 数组的基本操作 5.4 数组应用举例 5.5 数组参数 5.6 字符串,Introduction,数组,Array(阵列) 变量:存储单个数据数组:存储多个数据 具有相同性质的一批数据 Java 数组:用一个变量表示一组相同类型的数据,For Example,一组n个学生的成绩数据处理 输入 输出 排序 求最大 求平均值 判断不及格 统计分数段 给每一个学生的成绩数据设定一个变量? NO!,5.1 一维数组,数组 一个变量名表示一组数据,每个数据称为数组元素 每个元素通过下标来区分 一维数组 以一个下标确定数组中的不同元素 多维数组 多

2、个下标表示一个数组元素 数组必须先经过申明和初始化后才能使用 数组申明:确定数组名、数组的维数和数组元素的数据类型,一维数组的声明,一维数组声明的格式 类型标识符 数组名或 类型标识符 数组名 例:表示学生的成绩(整数),可以声明数组score:int score ; 表示体重的数组类型为float的weight,声明:float weight; Note:方括号可以在变量名的后面,也可以在类型名后面,一维数组的初始化,数组初始化 系统为数组分配存储空间,确定数组元素的个数 用 new 初始化数组数组名= new 类型标识符元素个数 先声明数组再初始化int sc ;sc=new int10;

3、float weight;weight=new float50,数组元素通过下标来区分下标最小值为0下标最大值为元素个数减1各元素的存储空间是连续的,一维数组初始化,在声明的同时进行初始化 即将前述的声明语句、new语句合并为一条语句: 类型标识符 数组名=new 类型标识符元素个数或 类型标识符 数组名=new 类型标识符元素个数 例如:int sc =new int10;float weight=new float50 初始化数组后,通过数组的length获取元素个数数组.length 例如:n=sc.length; /n=10m=weight.length; /m=50,赋初值初始化数组

4、,可以在声明数组的同时,给数组元素赋初值 所赋初值的个数决定数组元素的数目 其格式如下:类型标识符 数组名 = 初值表 初值表是用逗号隔开的初始值,例如:int score=65,34,78,81,56,92,56,87,90,77;,score0,score9,使用数组的好处,减少程序中的变量数量 统一的数组名,易于理解 对数据元素的操作可以使用循环语句 一维数组元素的赋值和输出都可以通过单重循环语句完成 【例补5-10】输入10个学生的成绩,统计最高分,平均分、不及格人数及高于平均分的人数,定义数组sc10用于存放10个学生成绩 利用循环语句输入成绩并统计,5.2 多维数组,二维数组的声明

5、 二维数组经常表示一个矩阵 二维数组的声明方式与一维数组类似,只是要给出两对方括号。二维数组声明形式如下:类型标识符 数组名 或类型标识符 数组名 例如:int a; / 第一个叫做行,第二个叫做列,二维数组的初始化,先声明数组再初始化 用new初始化二维数组数组名= new 类型标识符行数列数 例如:int a;a=new int34; 声明同时初始化类型标识符 数组名=new 类型标识符行数列数 或类型标识符 数组名=new 类型标识符行数列数 例如:int a=new int34;,int a=new int34; 数组中各元素通过两个下标来区分 每个下标的最小值为0,最大值分别比行数或

6、列数少1。 系统为该数组a的12个元素分配存储空间,形式如表所示:,行,列,二维数组的初始化,初始化后,通过属性length获取行数和列数 获取数组行数:数组名.length 例:a.length /值为3 获取数组列数:数组名行标.length 例:a0.length /值为3,int a=new int34; Java中,二维数组作为一维数组来处理 A可看作一维数组,有3个元素a0、a1、a2 每个元素本身是一维数组,例:,二维数组的初始化,在初始化时,可以各行单独进行,允许各行元素不同、int c=new int3; /c为3行二维数组c0=new int1; /c0具有1个元素c1=n

7、ew 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,如表所示,注意:二维数组元素的赋值和输出可以通过双重循环语句完成,5.3 数组的基本操作,数组的引用 对数组的应用通常是对其元素的引用 数组元素可以被赋值、被输出或参加表达式运算int age=ne

8、w int3;age0=25;age2=2+age0 ; 数组的复制 可以通过循环语句 也可以直接将一个数组赋值给另一数组int a=new int6; /将b数组的各元素值赋值a数组的相应元素int b=1,2,3,4,5,6;for(int i=0;i6;i+) ai=bi;或 a=b;,Demo1,int c,d, e,i, j; c=new int33; d=new int33; e=new int33; for(i=0;i3; i+)for (j=0; j3; j+) dij=i+j;cij=dij; e=d;,c、d、e数组各元素 0 1 2 1 2 3 2 3 4,数组的基本操作

9、,数组的输出 数组输出通常是逐个元素结合循环语句实现int a=new int6; for(int i=0;i6;i+) ai=i;System.out.print(ai+” ”);,输出: 0 1 2 3 4 5,例【5-2】一维数组的复制,class ArrayC public static void main(String args) int a,b, i, j; a=new int3;b=new int5; System.out.println(“a.length=“+a.length);for ( i=0; ia.length; i+) ai=i; System.out.print(

10、ai+“ “);System.out.println(); /作用?(接下页),System.out.println(“Before array assignment“);System.out.println(“b.length=“+b.length);for (j=0; jb.length; j+)bj=j*10;System.out.print(bj+“ “); System.out.println();b=a; / 注意,数组a、b长度不一样System.out.println(“After array assignment“);System.out.println(“b.length=

11、“+b.length);for (j=0; jb.length; j+)System.out.print(bj+“ “);System.out.println(); ,a.length=3 0 1 2 Before array assignment b.length=5 0 10 20 30 40 After array assignment b.length=3 0 1 2,int c,d,i, j; c=new int22;d=new int33;System.out.println(“Array d:“);for(i=0;id.length; i+) for (j=0; jdi.leng

12、th; j+) dij=i+j;System.out.print(dij+“ “); System.out.println(); c=d;System.out.println(“Array c:“);for(i=0;ic.length; i+)for (j=0; jci.length; j+)System.out.print(cij+“ “); System.out.println();,例【5-3】二维数组的复制,程序运行结果如下: Array d 0 1 2 1 2 3 2 3 4 Array c 0 1 2 1 2 3 2 3 4,/外循环控制行,/内循环控制列,5.4 数组应用举例-排

13、序,【5-4】排序 排序是将一组数按照递增或递减的顺序排列 排序的方法很多,其中最基本的是选择法,基本思想: 先在n个数中选最小数,放在第1个数组元素中。 取第1个数,与后面n-1(即底2到第n)个数逐个比较。 若第1个数大,则与数组元素中的值进行互换,直到最后。 再在第2至第n个元素中,选最小数,放在第2个数组元素中。 取第2个数,与后面n-2(即3到n)个数逐个比较。 若第2个数大,则与数组元素中的值进行互换,直到最后。 重复以上步骤,直至在最后两个数中选取最小数,放在第n-1个数组元素中。最后第n个元素已是最大数了。,5.4 数组应用举例-排序,改进的选择法,基本思想: 对于给定的n个数

14、,找到最小数的位置,与第1个数交换最小数置于第1个位置(每一轮最多只做一次交换) 对于剩下的n-1个数,重复步骤1,将次小数置于第2个位置 对于剩下的n-2,n-3,最后2个数用同样的方法,分别将第3个最小数置于第3位置,第4个最小数置于第4位置,第n-1个最小数置于第n-1位置,最后第n个数已是最大数了。,若7,4,0,6,2,5,1(放在数组元数a中)从小到大排序: 1、7个数中,最小数是0,与第1个数7交换位置,结果为: 0 4 7 6 2 5 1 2、余下的6个数最小数是1,与第2个数4交换,结果为:0 1 7 6 2 5 4 3、剩下的5个数最小数是2,与第3个数7交换,结果为:0 1 2 6 7 5 4 4、剩下的4个数最小数是4,与第4个数6交换,结果为:0 1 2 4 7 5 6 5、剩下的3个数最小数是5,与第5个数7交换,结果为:0 1 2 4 5 7 6 6、剩下的2个数是6,与数7交换,结果为0 1 2 4 5 6 7,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号