java数组

上传人:猪** 文档编号:243041976 上传时间:2024-09-14 格式:PPT 页数:39 大小:2.18MB
返回 下载 相关 举报
java数组_第1页
第1页 / 共39页
java数组_第2页
第2页 / 共39页
java数组_第3页
第3页 / 共39页
点击查看更多>>
资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,Java,程序设计,数组,循环语句,while,、,do-while,、,for,的区别是什么?,int i = 0, j = 0;,while(i4),System.out.println(*);,i+;,continue;,System.out.println(*);,j+;,i+;,*,*,*,*,*,*,*,写出运行结果,输出,回顾与作业点评,回顾,for,循环结构如何执行?,在循环中使用什么方式跳出或终止循环?,break,与,continue,之间的差别是什么?,预习检查,什么情况下使用数组?,如何定义一个,int,数组?,怎样引用一个数组中的元素?,本章任务,统计本次考试平均分,求出本次考试最高分,实现数组排序,复制数组信息,本章目标,掌握数组的基本用法,会应用数组解决简单问题,理解基本数据类型和引用数据类型,为什么需要,数组,2-1,int,stu1 = 95;,int,stu2 = 89;,int,stu3 = 79;,int,stu4 = 64;,int,stu5 = 76;,int,stu6 = 88;,avg,=,(stu1+stu2+stu3+stu4+stu5+stu30)/30,30,个变量,30,个变量太繁琐,1,、,Java,考试结束后,老师给张浩分配了一项任务,让他计算全班(,30,人)的平均分,为什么需要,数组,2-2,列表中的内容是否可以按照如右图所示的方式来存储呢?,可以,这就是数组!,生活案例:购物列表,数组是一个变量,存储相同数据类型的一组数据,什么是数组,3-1,声明一个变量就是在内存空间划出一块合适的空间,声明一个数组就是在内存空间划出一串连续的空间,什么是数组,3-2,数组的结构和基本要素,标识符,:数组的名称,用于区分不同的数组,数组元素,:向数组中存放的数据,元素下标,:对数组元素进行编号,元素类型,:数组元素的数据类型,什么是数组,3-3,数组只有一个名称,即标识符,元素下标标明了元素在数组中的位置,从,0,开始,数组中的每个元素都可以通过下标来访问,数组长度固定不变,避免数组越界,1,、使用数组的好处是什么?,2,、下列哪组数据能存储在数组中?数组的类型是什么?,“刘星”,“夏雨”,“夏雪”,8,,,98,,“,c”,,,23,98.1,,,341.2,,,34.3,数组中的所有元素必须属于相同的数据类型,String,型,double,型,小结,1,使用数组四步走:,1,、声明数组,2,、分配空间,3,、赋值,4,、处理数据,int, a;,a =,new,int5;,a 0 = 8;,a 0 = a0 * 10;,a,8,80,a0,如何使用数组,int, score1; /Java,成绩,int,score2 ; /C#,成绩,String, name; /,学生姓名,声明数组,:,告诉计算机数据类型是什么,1,数据类型 数组名, ,;,数据类型, ,数组名,;,声明数组,声明数组时不规定数组长度,score =,new,int30;,avgAge =,new,int6;,name =,new,String30;,30,分配空间,:,告诉计算机分配几个连续的空间,2,数据类型, ,数组名,=,new,数据类型,大小, ;,声明数组并分配空间,分配空间,int score=,new,int30 ;,score0 = 89;,score1 = 79;,score2 = 76;,赋值,:向分配的格子里放数据,30,score0,score1,score2,89,79,76,太麻烦!能不能一起赋值?,3,数组赋值,方法,1:,边声明边赋值,方法,2,:动态地从键盘录入信息并赋值,解决,int, score = 89, 79, 76;,Scanner input = new Scanner(System.in);,for(int i = 0; i 30; i +),scorei,= input.nextInt();,int, score =,new,int, 89, 79, 76;,数组赋值,不能指定数组长度,60,80,90,70,85,int score = 60, 80, 90, 70, 85,;,double,avg;,avg = (,score0,+ score1 + score2 + score3 + score4)/5;,int score = 60, 80, 90, 70, 85,;,int sum = 0;,double avg;,for(int i = 0; i ,score.length,; i+),sum = sum +,scorei,;,avg = sum / score.length;,成绩单,访问数组成员:使用“标识符,下标,”,访问成员,数组的,length,属性,对数据进行处理:,计算,5,位学生的平均分,4,处理数据,public static void main(String args) ,int scores = new int5;,/,成绩数组,int sum = 0;/,成绩总和,Scanner input = new Scanner(System.in);,System.out.println(,请输入,5,位学员的成绩:,);,for(int i = 0; i ,scores.length,; i+),scoresi,= input.nextInt();,sum = sum +,scoresi;,/,成绩累加,System.out.println(,平均分是:, + (double)sum/,scores.length,);,回顾问题,1,:计算全班学员的平均分,使用数组求平均分,演示示例,1,:使用数组处理数据,public class,ErrorDemo1,public static void main(String args),int score = new int ;,score0 = 89;,score1 = 63;,System.out.println(score0);,编译出错,没有写明数组的大小,常见错误,3-1,public class ErrorDemo2 ,public static void main(String args) ,int scores = new int2;,scores0 = 90;,scores1 = 85;,scores2 = 65;,System.out.println(scores2);,编译出错,数组越界,常见错误,3-2,public static void main(String args),int score = new int5;,score = 60, 80, 90, 70, 85;,int score2;,score2 = 60, 80, 90, 70, 85;,编译出错,创建数组并赋值的方式必须在一条语句中完成,常见错误,3-3,小结,2,使用数组的步骤是什么?,有一个数列:,8,,,4,,,2,,,1,,,23,,,344,,,12,循环输出数列的值,求数列中所有数值的和,猜数游戏:从键盘中任意输入一个数据,判断数列中是否包含此数,指导,显示商品名称,训练要点:,数组的使用,需求说明:,在控制台显示,5,件特价商品名称,实现思路:,1,、创建数组存储商品名称,2,、遍历数组输出商品名称,讲解需求说明,完成时间:,10,分钟,练习,购物金额结算,需求说明:,以表格的形式输出,5,笔购物金额及总金额,完成时间:,25,分钟,使用,java.util.Arrays,类,java.util,包提供了许多工具类,Arrays,类提供操作数组的方法,例排序、查询,Arrays,类的,sort(),方法,:,对数组进行升序排列,Arrays.sort(,数组名,);,数组排序,2-1,2,、循环录入,5,位学员成绩,进行升序排列后输出结果,import java.util.*;,/,导入包,int scores = new int5;/,成绩数组,Scanner input = new Scanner(System.in);,System.out.println(,请输入,5,位学员的成绩:,);,for(int i = 0; i scores.length; i+),scoresi = input.nextInt();,Arrays.sort(scores);,System.out.print(,学员成绩按升序排列:,);,for(int i = 0; i max ),max=a1 ;,if,(a2max ),max=a2 ;,if,(a3max ),max=a3 ;,使用循环,来解决,求最大值,3-2,/,计算成绩最大,max = scores0;,for(int i = 1; i max),max = scoresi;,System.out.println(,考试成绩最高分为:, + max);,循环打擂,使用,max,存储擂主初始值:第一个元素为擂主,求最大值,3-3,演示示例,3,:求数组中最大值,练习,求,最低价格,需求说明:,求出,4,家店的最低手机价格,完成时间:,15,分钟,基本数据类型的深入理解,2-1,4,、张浩和李明去年身高都是,170cm,,今年李明长到了,180cm,,张浩没有变化,输出去年和今年两人身高,定义两个变量保存身高,修改变量的值,输出变量的值,演示示例,4,:基本数据类型的深入理解,基本数据类型的深入理解,2-2,int heightZhang = 170;,int heightLi = heightZhang;,System.out.println(,去年,-,张浩的身高是:, + heightZhang +,, 李明的身高是:, + heightLi);,heightLi = 180;,System.out.println(,今年,-,张浩的身高是:, + heightZhang +,, 李明的身高是:, + heightLi);,heightZhang,170,170,heightLi,180,不同的变量会分配不同的存储空间,改变一个变量值不会影响另一个变量值,引用数据类型的深入理解,3-1,5,、张浩和李明去年身高与体重均为,170cm,和,60kg,,李明今年身高和体重变为,180cm,和,70kg,,张浩无变化。输出两人的身高和体重,采用和上一个示例相同的思路看是否可行,演示示例,5,:引用数据类型的深入理解,引用数据类型的深入理解,3-2,int infoZhang = new int 170,60;,int infoLi = infoZhang;,infoLi0 = 180;/,今年李明的身高变为,180,infoLi1 = 70;/,今年李明的体重变为,70,infoZhang,0x2a486c,0x2a486c,infoLi,170,60,180,70,对引用数据类型,赋值是把原对象的引用传递给另一个引用,两个引用指向同一块内存空间,0,0,引用数据类型的深入理解,3-3,int infoZhang = new int 170,60;,int infoLi = new int2;,for(int i = 0; i infoZhang.length; i+),infoLii = infoZhangi;,infoLi0 = 180;/,今年李明的身高变为,180,infoLi1 = 70;/,今年李明的体重变为,70,infoZhang,0x2a486c,0x2a679d,infoLi,170,60,170,60,180,70,数组元素有默认值,练习,更新会员积分,需求说明:,将原有积分进行备份,然后赠送每位会员,500,积分,编写程序输出积分情况,完成时间:,20,分钟,总结,数组有哪些特点?,使用数组的四个步骤,?,如何实现数组的排序?,基本数据类型和引用数据类型在内存分配上有什么不同?,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 小学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!