程序设计基础 第七章数组_第1页
程序设计基础 第七章数组_第2页
程序设计基础 第七章数组_第3页
程序设计基础 第七章数组_第4页
程序设计基础 第七章数组_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

第七章数组本章目标掌握数组的基本用法会应用数组解决简单问题为什么需要数组intstu1=95;intstu2=89;intstu3=79;intstu4=64;intstu5=76;intstu6=88;……avg=(stu1+stu2+stu3+stu4+stu5…+stu30)/3030个变量30个变量太繁琐1、Java考试结束后,老师给张浩分配了一项任务,让他计算全班(30人)的平均分7.1数组的使用什么是数组数组是一个变量,存储相同数据类型的一组数据声明一个变量就是在内存空间划出一块合适的空间声明一个数组就是在内存空间划出一串连续的空间7.1数组的使用数组的结构和基本要素标识符:数组的名称,用于区分不同的数组数组元素:向数组中存放的数据元素下标:对数组元素进行编号元素类型:数组元素的数据类型7.1数组的使用数组只有一个名称,即标识符元素下标标明了元素在数组中的位置,从0开始数组中的每个元素都可以通过下标来访问数组长度固定不变,避免数组越界7.1数组的使用int[]score1;//Java成绩intscore2[];//C#成绩String[]name;//学生姓名声明数组:

告诉计算机数据类型是什么1数据类型数组名[];

数据类型[]数组名;

使用数组分4步:声明数组时不规定数组长度7.1数组的使用score=newint[30];avgAge=newint[6];name=newString[30];30……分配空间:

告诉计算机分配几个连续的空间2数据类型[]数组名=new

数据类型[大小];声明数组并分配空间7.1数组的使用score[0]=89;score[1]=79;score[2]=76;……数组赋值:向分配的格子里放数据……30score[0]score[1]score[2]

89

79

76太麻烦!能不能一起赋值?37.1数组的使用方法1:边声明边赋值方法2:动态地从键盘录入信息并赋值解决int[]score={89,79,76};Scannerinput=newScanner(System.in);for(inti=0;i<30;i++){

score[i]=input.nextInt();}int[]score=new

int[]{89,79,76};不能指定数组长度7.1数组的使用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;i<score.length;i++){sum=sum+score[i];}avg=sum/score.length;成绩单访问数组成员:使用“标识符[下标]”访问成员数组的length属性对数据进行处理:计算5位学生的平均分47.1数组的使用

publicstaticvoidmain(String[]args){

int[]scores=newint[5]; //成绩数组

intsum=0; //成绩总和

Scannerinput=newScanner(System.in); System.out.println("请输入5位学员的成绩:"); for(inti=0;i<scores.length;i++){

scores[i]=input.nextInt(); sum=sum+scores[i]; //成绩累加

} System.out.println("平均分是:"+(double)sum/scores.length);}

回顾问题1:计算全班学员的平均分演示示例1:使用数组处理数据7.1数组的使用publicclassErrorDemo1

{publicstaticvoidmain(String[]args){int[]score=newint[];score[0]=89;score[1]=63;System.out.println(score[0]);}}编译出错,没有写明数组的大小常见错误-17.1数组的使用publicclassErrorDemo2{ publicstaticvoidmain(String[]args){ int[]scores=newint[2]; scores[0]=90; scores[1]=85; scores[2]=65; System.out.println(scores[2]); }}编译出错,数组越界常见错误-27.1数组的使用常见错误-3publicstaticvoidmain(String[]args){int[]score=newint[5];score={60,80,90,70,85};

int[]score2;score2={60,80,90,70,85};}编译出错,创建数组并赋值的方式必须在一条语句中完成7.1数组的使用7.2数组应用使用java.util.Arrays类java.util包提供了许多工具类Arrays类提供操作数组的方法,例如:排序、查询Arrays类的sort()方法:对数组进行升序排列Arrays.sort(数组名);2、循环录入5位学员成绩,进行升序排列后输出结果

importjava.util.*;//导入包

……int[]scores=newint[5]; //成绩数组 Scannerinput=newScanner(System.in); System.out.println("请输入5位学员的成绩:"); for(inti=0;i<scores.length;i++){ scores[i]=input.nextInt(); }

Arrays.sort(scores);

System.out.print("学员成绩按升序排列:"); for(inti=0;i<scores.length;i++){ System.out.print(scores[i]+""); }数组中的元素被重新排列循环录入学生成绩并存储在数组中循环输出数组中的信息演示示例2:对数组进行排序7.2数组应用

打擂台擂台3、从键盘输入本次Java考试五位学生的成绩,求考试成绩最高分打擂台的规则:有1人站在擂台上,第2个人和他比武。如果比他强,则留在擂台上。依次类推,第3个人和擂台上的人比武,谁赢了谁就是擂主-老大!7.2数组应用根据打擂台的规则:max=stu[0];if(a[1]>max){max=a[1];}if(a[2]>max){max=a[2];}if(a[3]>max){max=a[3];}……使用循环来解决7.2数组应用

//计算成绩最大

max=scores[0]; for(inti=1;i<scores.length;i++){

if(scores[i]>max){ max=scores[i]; } } System.out.println("考试成绩最高分为:"+max);循环打擂使用max存储擂主初始值:第一个元素为擂主演示示例3:求数组中最大值7.2

温馨提示

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

评论

0/150

提交评论