1、山东理工职业学院单元教学过程设计首页课程所属院(部):软件工程学院 2019-2020学年 第一学期课程名称Java语言编程基础任课教师单元标题任务2.3 多名匿名学生成绩的统计与评定上课地点课时2授课班级授课时间第 周第 周第 周第 周第 周第 周星期 星期 星期 星期 星期 星期 第 节第 节第 节第 节第 节第 节月 日月 日月 日月 日月 日月 日教学目标能力目标知识目标1. 能掌握循环结构的应用,自增、自减运算符的用法。1 自增、自减运算符2 循环结构教学任务从键盘输入五个学生四门课程的成绩,计算平均分,按照任务2.2的评定标准输出评语。教学重、难点重点:循环结构的应用,自增、自减运
2、算符的用法难点:如何综合应用循环结构和自增自减运算符教学材料或用具教材、教案、课件、课程标准、案例素材及Eclipse开发软件课后任务1.编程输出乘法口诀。2. 从键盘输入任意个数,直到输入-1结束,求正数的个数。3. 编写程序,求解百鸡问题:公鸡五元一只,母鸡三元一只,小鸡一元三只,问一百元买一百只鸡,其中公鸡、母鸡、小鸡各几只?4编写一个猜数游戏程序:随机给定一个110之间的被猜整数,从键盘上反复输入整数进行试猜。如果没猜中,会提示数过大或过小,直到所猜次数用完;如果猜中了,会提示试猜的次数。山东理工职业学院单元教学过程设计步骤及时间教学内容教师活动学生活动5分钟5分钟重点20分钟重点20
3、分钟35分钟5分钟【组织教学】1、检查学生出勤,作好学生考勤记录。2、课堂提问,了解学生掌握所学知识情况。3、强调课堂纪律,加强互动,活跃课堂气氛。【课题导入】 在任务2.2中,学生的成绩有四门,用四个不同的变量进行了存储。如果学生人数较多时,程序就会出现大量的重复操作,显得繁琐琐。因此我们引入循环结构,因此可以利用循环结构将任务2.2中输入学生信息、成绩、成绩评定的部门放入循环体部分,这样使得程序简洁许多,同时也实现了多名学生成绩的统计与评定。【讲授新课】2.3.4.1自增、自减运算符自增运算符记为“+”,其功能是使变量的值增1。自减运算符记为“-”,其功能是使变量值减1。自增、自减运算符均
4、为单目运算,都具有右结合性。可有以下几种形式:+i i先自加1,再参与运算。-i i先自减1,再参与运算。i+ i参与运算后,i的值再加1。i- i参与运算后,i的值再减1。当i+和i-出现在较复杂的表达式或语句中时,会难以弄清,因此应仔细分析再去使用。通过下面的例子,可仔细体会每个自增自减运算符的作用。【例2.8】有以下程序段,注意分析每次输出的i的值。public class Exp28public static void main(String args) int i=6;System.out.println(i=+(+i);System.out.println(i=+(-i);Syst
5、em.out.println(i=+(i+);System.out.println(i=+(i-);System.out.println(i=+(-i+);System.out.println(i=+(-i-);运行结果:图2-3-2 自增自减运算符运行结果图执行过程:i的初值为6,第1行i加1后输出7;第2行减1后输出6;第3行输出i为6之后再加1(为7);第4行输出i为7之后再减1(为6) ;第5行输出-6之后再加1(为7),第6行输出-7之后再减1,i的最后值为6。2.3.4.2循环结构1while语句格式:while(表达式) 语句其中表达式是循环条件,语句为循环体。while语句的语
6、义是:计算表达式的值,当值为真(非0)时,执行循环体语句。【例2.9】用while语句求1+2+3+4+100的值。public class Exp29 public static void main(String args) int i, sum = 0;i = 1;while (i = 100) sum = sum + i;i+;System.out.println(sum= + sum);运行结果:sum=50502do-while语句do-while语句的一般形式为: do 语句 while(表达式);这个循环与while循环的区别在于:它先执行循环体,然后再判断表达式是否为真,如为真
7、则继续循环;如果为假,则终止循环。因此,do-while循环至少要执行一次循环体。【例2.10】用do-while语句1+2+3+4+100的值。public class Exp210 public static void main(String args) int i, sum = 0;i = 1;dosum = sum + i;i+;while (i = 100);System.out.println(sum= + sum);运行结果:sum=5050同样当有循环体含有多条语句时,要用“”把它们括起来。此外,需注意while()条件后需要加上“;”。3for语句 for语句完全可以取代wh
8、ile语句,并且运用起来更加灵活。它的一般形式为: for(表达式1;表达式2;表达式3) 循环体语句它的执行过程如下:(1)先求解表达式1。(2)求解表达式2,若其值为真(非0),则执行循环体中的语句,然后执行第(3)步;若其值为假(0),则结束循环,转到第(5)步。(3)求解表达式3。(4)转回上面第(2)步继续执行。(5)循环结束,执行for语句下面的语句。for语句最简单的应用形式如下:for(循环变量赋初值;循环条件;循环变量增量) 语句循环变量赋初值用来给循环控制变量赋初值,它是一个赋值语句;循环条件是一个关系表达式,它决定满足什么条件时退出循环;循环变量增量用来定义循环控制变量每
9、循环一次后按什么方式变化。这三个部分之间用“;”隔开。 例如: for(i=1; i100时,结束循环。相当于: i=1;while(i=100) sum=sum+i; i+;对于for循环中语句的一般形式,就是如下的while循环形式:表达式1;while(表达式2) 语句 表达式3;【注意】(1)for循环中的“表达式1”、“表达式2”和“表达式3”都可以缺省,但“;”不能缺省。(2)省略了“表达式1(循环变量赋初值)”,表示不对循环控制变量赋初值。(3)省略了“表达式2(循环条件) ”, 则不做其它处理时便成为死循环。例如:for(i=1;i+) sum=sum+i;相当于: i=1;
10、while(1) sum=sum+i; i+;循环条件始终为真,循环会一直执行下去。(4)省略了“表达式3(循环变量增量) ”,可以在循环体中加入修改循环控制变量的语句。例如:for(i=1;i=100;)sum=sum+i; i+;(5)省略了“表达式1”和“表达式3”。例如:for(;i=100;)sum=sum+i; i+;相当于:while(i=100)sum=sum+i; i+;(6)三个表达式都可以省略。例如:for(;)语句相当于:while(1)语句(7)表达式1也可以是其他表达式。例如:for(sum=0;i=100;i+)sum=sum+i;(8)表达式1和表达式3可以是简
11、单表达式也可以是逗号表达式。for(sum=0,i=1;i=100;i+)sum=sum+i;或:for(i=0,j=100;i=100;i+,j-)k=i+j;【知识拓展】2.3.6.1 break语句break:中断、退出,可用于switch分支结构和循环结构中。用在switch语句中的作用是强制退出switch结构,执行switch结构后面的语句。用在循环结构中时,作用是强行跳出当前循环,不再执行剩余代码;当有多层循环嵌套的时候,并且break语句出现在嵌套循环中的内层循环时,它只能终止内层循环的执行,不会影响外层循环。例如有以下程序: for (int i = 0; i 10; i+)
12、 if (i = 6) break; / 在执行i=6时强制终止循环 System.out.println(i); 程序的输出结果为:0 1 2 3 4 5,6以后的不会被输出。再例如题目要求输出100以内的素数,也可以借助break语句来实现,参考程序如下:public class Prime public static void main(String args) int number,i; for(number=2;number=100;number+) for(i=2;inumber;i+) if(number%i=0) break; if(i=number)System.out.pr
13、int(number+ ); 2.3.6.2 continue语句continue:继续,用于停止当次循环,回到循环的起始处,进入下一次循环操作。简单来说,continue只是中断一次循环的执行而已。例如有以下程序: for (int i = 0; i 10; i+) if (i = 6) continue; /中止当前循环,进入下一轮 System.out.println(i); 程序的输出结果为:0 1 2 3 4 5 7 8 9,6没有被输出。2.3.6.3 return语句 return:返回,表示从当前的方法中退出,返回到调用该方法的语句处,继续执行;或是返回一个值给调用该方法的语句
14、,返回值的数据类型必须与方法声明中的返回值的类型一致。【技能训练】一、任务实施编辑程序:import java.util.Scanner;public class StuScore public static void main(String args) int no; / 定义学号no为整型变量String name; / 定义姓名name为字符串型变量float sql, webdesign; / 定义四门课程的成绩为实型变量double java, gym;double average;Scanner sc = new Scanner(System.in); / 定义Scanner类的对
15、象for (int i = 1; i = 5; i+) System.out.print(请输入第 + i + 名学生的学号);no = sc.nextInt(); / 为各变量赋值System.out.print(请输入第 + i + 名学生姓名);name = sc.next();System.out.print(请输入第 + i + 名学生sql成绩);sql = sc.nextFloat();System.out.print(请输入第 + i + 名学生网页设计成绩);webdesign = sc.nextFloat();System.out.print(请输入第 + i + 名学生j
16、ava成绩);java = sc.nextDouble();System.out.print(请输入第 + i + 名学生体育成绩);gym = sc.nextDouble();average = (sql + webdesign + java + gym) / 4; / 计算平均成绩System.out.println(第 + i + 名学生的平均分是: + average);System.out.println(第 + i + 名学生输出评语:);int flag = (int) average / 10;switch (flag) case 9:System.out.println(优秀
17、);break;case 8:System.out.println(良好);break;case 7:System.out.println(及格);break;case 6:System.out.println(及格);break;default:System.out.println(不及格);运行结果部分截图:三、分组练习按班级人数分成小组,小组内成员合作完成相应的任务。四、巡回指导精确操作步骤,指导学生,及时解决学生在上机过程中遇到的问题。【任务总结】 1、学生完成的课堂任务总结。2、本节课知识点提问。【布置作业】根据提出的建议,完善案例。组织教学任务导入课件演示案例操作讲解指出学习重点和难点指出重点操作演示仔细讲解制作此任务的每一个步骤适当提问对学生提出的问题给于指导展示任务细致操作每一个步骤,指出易错的具体操作步骤巡回指导配合教师组织教学聆听互动聆听简单记录重要知识点、回答提问,观看并记忆各元素用法记录并记忆回答教师提出的疑问记忆代码含义上机实践操作任务、自主探究和小组协作提出疑问利用课上剩余时间或课下时间完善任务