java数组

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

Java程序设计数组循环语句while、do-while、for的区别是什么?inti=0,j=0;while(i7){if(j4){System.out.println(**);i++;continue;}System.out.println(*);j++;i++;}*********写出运行结果输出回顾与作业点评回顾for循环结构如何执行?在循环中使用什么方式跳出或终止循环?break与continue之间的差别是什么?预习检查什么情况下使用数组?如何定义一个int数组?怎样引用一个数组中的元素?本章任务统计本次考试平均分求出本次考试最高分实现数组排序复制数组信息本章目标掌握数组的基本用法会应用数组解决简单问题理解基本数据类型和引用数据类型为什么需要数组2-1intstu1=95;intstu2=89;intstu3=79;intstu4=64;intstu5=76;intstu6=88;……avg=(stu1+stu2+stu3+stu4+stu5…+stu30)/3030个变量30个变量太繁琐1、Java考试结束后,老师给张浩分配了一项任务,让他计算全班(30人)的平均分为什么需要数组2-24.饼干1.牛奶2.蛋糕3.咖啡4.网球1.篮球2.足球3.排球食品类运动类今日购物列表饼干牛奶蛋糕咖啡网球篮球足球排球食品类运动类列表中的内容是否可以按照如右图所示的方式来存储呢?可以,这就是数组!生活案例:购物列表数组是一个变量,存储相同数据类型的一组数据什么是数组3-1内存牛奶饼干牛奶蛋糕咖啡String类型变量String类型数组变量声明一个变量就是在内存空间划出一块合适的空间声明一个数组就是在内存空间划出一串连续的空间什么是数组3-2数组的结构和基本要素标识符:数组的名称,用于区分不同的数组数组元素:向数组中存放的数据元素下标:对数组元素进行编号元素类型:数组元素的数据类型什么是数组3-3数组只有一个名称,即标识符元素下标标明了元素在数组中的位置,从0开始数组中的每个元素都可以通过下标来访问数组长度固定不变,避免数组越界food饼干牛奶蛋糕咖啡String类型元素(String类型)数组名称(标识符)1203下标1、使用数组的好处是什么?2、下列哪组数据能存储在数组中?数组的类型是什么?a)“刘星”,“夏雨”,“夏雪”b)8,98,“c”,23c)98.1,341.2,34.3数组中的所有元素必须属于相同的数据类型String型double型小结1使用数组四步走:1、声明数组2、分配空间3、赋值4、处理数据int[]a;a=newint[5];a[0]=8;a[0]=a[0]*10;a880a[0]如何使用数组int[]score1;//Java成绩intscore2[];//C#成绩String[]name;//学生姓名声明数组:告诉计算机数据类型是什么1数据类型数组名[];数据类型[]数组名;声明数组声明数组时不规定数组长度score=newint[30];avgAge=newint[6];name=newString[30];30……分配空间:告诉计算机分配几个连续的空间2数据类型[]数组名=new数据类型[大小];声明数组并分配空间分配空间int[]score=newint[30];score[0]=89;score[1]=79;score[2]=76;……赋值:向分配的格子里放数据……30score[0]score[1]score[2]897976太麻烦!能不能一起赋值?3数组赋值方法1:边声明边赋值方法2:动态地从键盘录入信息并赋值解决int[]score={89,79,76};Scannerinput=newScanner(System.in);for(inti=0;i30;i++){score[i]=input.nextInt();}int[]score=newint[]{89,79,76};数组赋值不能指定数组长度6080907085int[]score={60,80,90,70,85};doubleavg;avg=(score[0]+score[1]+score[2]+score[3]+score[4])/5;int[]score={60,80,90,70,85};intsum=0;doubleavg;for(inti=0;iscore.length;i++){sum=sum+score[i];}avg=sum/score.length;成绩单访问数组成员:使用“标识符[下标]”访问成员数组的length属性对数据进行处理:计算5位学生的平均分4处理数据publicstaticvoidmain(String[]args){int[]scores=newint[5];//成绩数组intsum=0;//成绩总和Scannerinput=newScanner(System.in);System.out.println(请输入5位学员的成绩:);for(inti=0;iscores.length;i++){scores[i]=input.nextInt();sum=sum+scores[i];//成绩累加}System.out.println(平均分是:+(double)sum/scores.length);}回顾问题1:计算全班学员的平均分使用数组求平均分演示示例1:使用数组处理数据publicclassErrorDemo1{publicstaticvoidmain(String[]args){int[]score=newint[];score[0]=89;score[1]=63;System.out.println(score[0]);}}编译出错,没有写明数组的大小常见错误3-1publicclassErrorDemo2{publicstaticvoidmain(String[]args){int[]scores=newint[2];scores[0]=90;scores[1]=85;scores[2]=65;System.out.println(scores[2]);}}编译出错,数组越界常见错误3-2publicstaticvoidmain(String[]args){int[]score=newint[5];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-12、循环录入5位学员成绩,进行升序排列后输出结果importjava.util.*;//导入包……int[]scores=newint[5];//成绩数组Scannerinput=newScanner(System.in);System.out.println(请输入5位学员的成绩:);for(inti=0;iscores.length;i++){scores[i]=input.nextInt();}Arrays.sort(scores);System.out.print(学员成绩按升序排列:);for(inti=0;iscores.length;i++){System.out.print(scores[i]+);}数组中的元素被重新排列循环录入学生成绩并存储在数组中循环输出数组中的信息数组排序2-2演示示例2:对数组进行排序练习——字符逆序输出需求说明:将一组乱序的字符进行排序进行升序和逆序输出完成时间:15分钟擂台求最大值3-13、从键盘输入本次Java考试五位学生的成绩,求考试成绩最高分根据打擂台的规则:max=stu[0];if(a[1]max){max=a[1];}if(a[2]max){max=a[2];}if(a[3]max){max=a[3];}……使用循环来解决求最大值3-2//计算成绩最大max=scores[0];for(inti=1;iscores.length;i++){if(scores[i]max){max=scores[i];}}System.out.println(考试成绩最高分为:+max);循环打擂使用max存储擂主初始值:第一个元素为擂主求最大值3-3演示示例3:求数组中最大值练习——求最低价格需求说明:求出4家店的最低手机价格完成时间:15分钟基本数据类型的深入理解2-14、张浩和李明去年身高都是170cm,今年李明长到了180cm,张浩没有变化,输出去年和今年两人身高定义两个变量保存身高修改变量的值输出变量的值演示示例4:基本数据类型的深入理解基本数据类型的深入理解2-2intheightZhang=170;intheightLi=heightZhang;System.out.println(去年--张浩的身高是:+heightZhang+,李明的身高是:+heightLi);heightLi=180;System.out.println(今年--张浩的身高是:+heightZhang+,李明的身高是:+heightLi);heightZhang170170heightLi180不同的变量会分配不同的存储空间改变一个变量值不会影响另一个变量值引用数据类型的深入理解3-15、张浩和李明去年身高与体重均为170cm和60kg,李明今年身高和体重变为180cm和70kg,张浩无变化。输出两人的身高和体重采用和上一个示例相同的思路看是否可行演示示例5:引用数据类型的深入理解引用数据类型的深入理解3-2int[]infoZhang=newint[]{170,60};int[]infoLi=infoZhang;…infoLi[0]=180;//今年李明的身高变为180infoLi[1]=70;//今年李明的体重变为70…infoZhang0x2a486c0x2a486cinfoLi1706018070对引用数据类型,赋值是把原对象的引用传递给另一个引用,两个引用指向同一块内存空间00引用数据类型的深入理解3-3int[]infoZhang=newint[]{170,60};int[]infoLi=newint[2];for(inti=0;iinfoZhang.length;i++){infoLi[i]=infoZhang[i];}…infoLi[0]=180;//今年李明的身高变为180infoLi[1]=70;//今年李明的体重变为70…infoZhang0x2a486c0x2a679dinfoLi170601706018070数组元素有默认值练习——更新会员积分需求说明:将原有积分进行备份,然后赠送每位会员500积分,编写程序输出积分情况完成时间:20分钟总结数组有哪些特点?使用数组的四个步骤?如何实现数组的排序?基本数据类型和引用数据类型在内存分配上有什么不同?

1 / 39
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功