收藏 分销(赏)

java数组教案.doc

上传人:a199****6536 文档编号:3584827 上传时间:2024-07-10 格式:DOC 页数:10 大小:101.83KB
下载 相关 举报
java数组教案.doc_第1页
第1页 / 共10页
java数组教案.doc_第2页
第2页 / 共10页
点击查看更多>>
资源描述
。 备 课 教 案 学年学期 课程名称 JAVA开发技术 主讲教师 授课对象 教学目的 1. 掌握数组的声明、表示及赋值。 2. 理解数组元素的内存分配。 教学重点和难点 重点:数组的声明、表示及赋值 难点:数组的内存分配 教学方法和手段 1.教师精讲理论内容 2.多媒体展示教学重点、及程序代码示例 3. 教师演示java数组的代码使用,学生做课堂做练习掌握。 教学 基 本 内容 备 注 导入: 数组的意义介绍: 之前学习内容中,存储、使用的数据都是单独一个个的数据,如25,a。但实际生活和应用中,经常需要使用和处理一连串的数据(一组数据),如全班同学的成绩。在java语言中,就是通过数组来实现对一组数据的存储和使用。 强调: 一个数组可以存放上千万个数据,但是要注意一个数组中必须存放相同数据类型的数据。 如存储都是浮点数类型(学生成绩),或者都是字符串类型(学生姓名)。但是不能在一个数组中既有浮点数据,又有字符串型数据。 一.数组的声明与内存的分配 要使用Java的数组,必须经过两个步骤:(1)声明数组、(2)分配内存给该数组。 这两个步骤的语法如下: 【格式1 数组的声明与分配内存】 数据类型数组名[ ] ;// 声明一维数组 数组名= new 数据类型[个数] ; // 分配内存给数组 解释: 1.数据类型: 声明数组中存储的数据元素的类型,常见的类型有整型、浮点型与字符型等。 2.数组名: 给这个数组起的名字,以方便该数组的使用。建议使用有意义的名称为数组命名。 3.分配内存: 数组声明后,接下来便是要配置数组所需的内存(数组元素只有放在内存中,才能成为真实的存在,才能使用)。 其中“个数”是告诉编译器,所声明的数组要存放多少个元素,由此来明确需分配多大的内存空间给该数组。 “new”则是命令编译器在内存中真实开辟一块空间供该数组使用。 举例: int score[] ; // 声明整型数组score score = new int[3]; // 为整型数组score分配内存空间,其元素个数为3 内存分配情况:(知识扩展,尽量理解) 在上例中的第一行,当声明一个整型数组score时,编译器会分配一块内存给它,即将用来保存指向数组实体的地址,而此时这个变量并没有包含任何内容,如图1所示。 图1 声明整型数组 声明之后,接着要做内存分配的操作,也就是上例中第二行语句。这一行会开辟3个可供保存整数的内存空间,并把此内存空间的参考地址赋给score变量。其内存分配的流程如图2所示。 图2 内存分配 可见数组变量score所保存的并非是数组的实体,而是数组实体的参考地址。 【格式2 声明数组的同时分配内存】 除了用格式4-1的这两行来声明并分配内存给数组之外,也可以用较为简洁的方式,把两行缩成一行来编写,其格式如下: 数据类型数组名[] = new 数据类型[个数] 上述的格式会在声明的同时,即分配一块内存空间,供该数组使用。 举例: int score[] = new int[11] ; // 声明一个元素个数为11的整型数组score,同时开辟一块内存空间供其使用 在Java中,由于整数数据类型所占用的空间为4个bytes,而整型数组score可保存的元素有11个,所以上例中占用的内存共有4 * 11 = 44个字节。图3是将数组score的保存用图形来表示,这是以后学习中经常用到的画图思考方式。 图3 数组的保存方式 二.数组中元素的表示方法 想要使用数组里的元素,就需要设法能够表示数组中的各元素。可以利用索引来完成。 Java的数组索引编号由0开始。如上节中的score数组,score[0]即代表socre数组中存放的第1个元素,score[1]代表第2个元素,…,score[10]为数组中第11个元素(也就是最后一个元素)。图4为score数组中元素的表示法及排列方式: 图4 数组中元素的排列 接下来,看一个范例了解程序中数组元素的使用。下面的程序声明了一个数组,长度为3,利用for循环输出数组的内容后,再输出数组的元素个数。 程序示例:TestJava4_1.java 01 // 下面这段程序说明了数组的使用方法 02 public class TestJava4_1 03 { 04 public static void main(String args[]) 05 { 06 int i; 07 int a[]; // 声明一个整型数组a 08 a=new int[3]; // 开辟内存空间供整型数组a使用,其元素个数为3 09 10 for(i=0;i<3;i++) // 输出数组的内容 11 System.out.print("a["+i+"] = "+a[i]+","); 12 13 System.out.println("\n数组长度是:"+a.length); // 输出数组长度 14 } 15 } 输出结果: a[0] = 0, a[1] = 0, a[2] = 0, 数组长度是:3 程序说明: 1、第7行声明整型数组a;第8行开辟了一块内存空间整型数组a使用,其元素个数为3。 2、第10~11行,利用for循环输出数组的内容。由于程序中并未给予数组元素赋值,因此输出的结果都是0。 3、第13行输出数组的长度。此例中数组的长度是3,即代表数组元素的个数有3个。 知识点: 在Java中取得数组的长度(也就是数组元素的个数)可以用“.length”完成,如下面的格式: 【 格式3 数组长度的取得】 数组名.length 也就是说,要取得TestJava4_1中所声明的数组a的元素个数,只要在数组a的名称后面加上“.length”即可,如下面的程序片段: a.length ; // 取得数组的长度 三 数组初值的赋值 只有在数组中存放具体的数值,数组才有意义。所以我们需要给数组元素进行赋值。 可以直接在声明时就给数组赋初值。格式如下: 【格式4 数组赋初值】 数据类型数组名[] = {初值0,初值1,…,初值n} 解释: 1. 在大括号内的各初值会依序指定给数组的第1、…、n+1个元素。 2. 此方式并不需要将数组元素的个数列出,编译器根据所给出的初值个数来判断数组的长度。 范例: int day[] = {32,23,45,22,13,45,78,96,43,32}; // 数组声明并赋初值 在上面的语句中,声明了一个整型数组day,虽然没有特别指明数组的长度,但是由于大括号里的初值有10个,编译器会分别依序指定给各元素存放,day[0]为32,day[1]为23,…,day[9]为32。 程序示例:TestJava4_2.java 01 // 数组的赋值,这里采用静态方式赋值 02 public class TestJava4_2 03 { 04 public static void main(String args[]) 05 { 06 int i; 07 int a[]={5,6,8}; // 声明一个整数数组a并赋初值 08 09 for(i=0;i<a.length;i++) // 输出数组的内容 10 System.out.print("a["+i+"]="+a[i]+","); 11 12 System.out.println("\n数组长度是:"+a.length); 13 } 14 }输出结果: a[0]=5, a[1]=6, a[2]=8, 数组长度是:3 除了在声明时就赋初值之外,也可以在程序中为某个特定的数组元素赋值。可以将程序TestJava4_2的第7行更改成下面的程序片段: int a [] = new int[] ; a[0] = 5 ; a[1] = 6 ; a[2] = 8 ; 四 简单的范例:找出数组元素中的最大值与最小值 由前几节的范例可知,数组的索引就好象饭店房间的编号一样,想要找到某个房间时,就得先找到房间编号!接下来再举一个例子,说明如何将数组里的最大值及最小值列出。 范例:TestJava4_3.java 01 // 这个程序主要是求得数组中的最大值和最小值 02 public class TestJava4_3 03 { 04 public static void main(String args[]) 05 { 06 int i,min,max; 07 int A[]={74,48,30,17,62}; // 声明整数数组A,并赋初值  08 09 min=max=A[0]; 10 System.out.print("数组A的元素包括:"); 11 for(i=0;i<A.length;i++) 12 { 13 System.out.print(A[i]+" "); 14 if(A[i]>max) // 判断最大值  15 max=A[i]; 16 if(A[i]<min) // 判断最小值  17 min=A[i]; 18 } 19 System.out.println("\n数组的最大值是:"+max); // 输出最大值  20 System.out.println("数组的最小值是:"+min); // 输出最小值  21 } 22 } 输出结果: 数组A的元素包括:74 48 30 17 62 数组的最大值是:74 数组的最小值是:17 程序说明: 1、第6行声明整数变量i做为循环控制变量及数组的索引:另外也声明存放最小值的变量min与最大值的变量max。 2、第7行声明整型数组A,其数组元素有5个,其值分别为74、48、30、17、62。 3、第9行将min与max的初值设为数组的第一个元素。 4、第10~18行逐一输出数组里的内容,并判断数组里的最大值与最小值。 5、第19~20行输出比较后的最大值与最小值。 将变量min与max初值设成数组的第一个元素后,再逐一与数组中的各元素相比。比min小,就将该元素的值指定给min存放,使min的内容保持最小;同样的,当该元素比max大时,就将该元素的值指定给max存放,使max的内容保持最大。for循环执行完,也就表示数组中所有的元素都已经比较完毕,此时变量min与max的内容就是最小值与最大值。 板 书 设 计 备注 思 考 练 习 备注 一. 选择题: 1. 下面错误的初始化语句是: A.char str[]=”hello”; B.char str[100]=”hello”; C.char str[]={‘h’,’e’,’l’,’l’,’o’}; D char str[]={“hello”}; 2. 引用数组元素时,数组下标可以是: A.整型常量 B.整型变量 C.整型表达式 D.以上均可 3. 下面程序的运行结果为: main(){ int x=30; int[] numbers = new int[x]; x = 60; System.out.println(numbers.length); } A.30 B.60 C.90 D20 4. 数组a的第三个元素为: A.a(3) B.a[3] C.a(2) D.a[2] 二. 程序题: 歌手打分:在歌唱比赛中,共有10位评委进行打分,在计算歌手得分时,去掉一个最高分,去掉一个最低分,然后剩余的8位评委的分数进行平均,就是该选手的最终得分。输入每个评委的评分,求某选手的得分 教 学 反 思 备注 THANKS !!! 致力为企业和个人提供合同协议,策划案计划书,学习课件等等 打造全网一站式需求 欢迎您的下载,资料仅供参考 -可编辑修改-
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服