版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第七章数组本章目标掌握数组的基本用法会应用数组解决简单问题为什么需要数组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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年多功能活动场所租赁合同
- 2024年HSE系统构建与合作合同
- 2024年厢式货车租赁合同
- 营销费用借款合同
- 2024年专用条款:跨境电商航空物流合同
- 2024年外墙油漆及涂装服务合同
- 2024年工地食堂承包经营权合同
- 2024年劳保用品生产与供应合同
- 2024年健身房装修施工合同
- 2024年全球视野下的在线合同执行研究
- 淀粉厂安全生产管理制度
- 学校食堂供货商选择、评价和退出管理制度
- 风电项目施工组织设计方案
- 外国文学史下(期末复习)
- 超星尔雅学习通《公共日语》章节测试答案
- 二年级上册《除法的初步认识-平均分》教学设计青岛版
- 医院品牌建设课件
- GB/T 39701-2020粉煤灰中铵离子含量的限量及检验方法
- GB/T 1423-1996贵金属及其合金密度的测试方法
- 下肢深静脉血栓静脉滤器置入术 课件
- 全年级语文课件 - 小古文 疑邻窃斧 全国通用
评论
0/150
提交评论