JAVA面向对象程序设计教案.docx
- 文档编号:25072318
- 上传时间:2023-06-04
- 格式:DOCX
- 页数:74
- 大小:1.09MB
JAVA面向对象程序设计教案.docx
《JAVA面向对象程序设计教案.docx》由会员分享,可在线阅读,更多相关《JAVA面向对象程序设计教案.docx(74页珍藏版)》请在冰豆网上搜索。
JAVA面向对象程序设计教案
西南财经大学天府学院
教案
*******
课程名称:
面向对象程序设计(Java)
任课班级:
13级专科计算机01班、13级专科网络01班、13级专科软件01班
授课时间:
2013-2014-2学期
西南财经大学天府学院教务处制
教案
编号:
1
章节
JavaSE程序设计与实践的考核方式和Java简介
授课方式
讲授+讨论+上机
教
学
目
的
(1)掌握本课程的考核方式、即将要学习的内容以及相关的课堂纪律。
(2)了解课程整体目标。
(3)了解Java语言。
(4)了解Java程序的类型。
(5)理解Java虚拟机(JVM)。
(6)掌握Java程序运行环境的配置,能够独立完成。
(7)培养学生实际动手能力(自主安装JDK以及配置环境变量)。
(8)培养学生自主解决问题的能力。
教
学
重
点
(1)环境变量的配置和编译源文件以及Java程序打包。
教
学
难
点
(1)环境变量的配置和编译源文件以及Java程序打包。
时间
分配
教学过程
Min
10
5
15
5
10
10
15
25
30
60
一、考核方式(讲授)
(1)考核分为两部分:
a)第一部分:
平时,占60%;其中,考勤:
10%;平时作业或项目:
40%,包括2次大型的作业任务,每次任务各占15%,2次及以上小型作业任务,占10%。
根据项完成的程度和质量,由老师评分,未交者得零分;平时表现分:
10%,包括课堂纪律、上课积极的参与讨论、主动回答问题及上台演示和讲解程序的编写、小组作业时候的团队协作能力(由组长评分)。
b)第二部分:
期末项目,占40%;一次大型项目,由小组完成。
(2)旷课3次取消考试资格,迟到3次算一次旷课。
每迟到一次扣1分,旷课一次扣5分,期末全勤可加2分。
(3)课堂内看视频、玩游戏,第一次扣5分,第二次扣10分,第三次扣20分,如果超过4次者,直接取消该科的考试资格。
二、课堂纪律(讲授)
(1)上课不准吃零食、嗑瓜子等。
(2)下课后带走自己桌上的垃圾,让课桌上保持整洁。
(3)下课后关电脑(主机和显示器)。
(4)上课不准大声喧哗、玩手机、pad、睡觉等与学习无关的事情。
三、教师信息及答疑时间设定(讲授)
四、学习小组的成立以及成员之间讨论(讨论)
(1)自由分组,每个组4-6人,并选定组长,然后为每个组安排好上机位置(小组成员必须坐在一起),以后就固定座位。
(2)小组讨论:
a)互相认识,加深了解,了解各自的兴趣和长项。
b)选取一个同学为小组长。
c)探讨学习本课程的方法,并由小组长向老师汇报本次讨论的结果。
五、Java语言简介
(1)Java是一种程序设计语言,由SunMicrosystem公司于1995年推出;
(2)早在1991年,Sun公司的JamesGosling等人开始开发名为Oak的程序设计语言,希望用来控制嵌入在有线电视机顶盒和PDA等设备中的微处理器;
(3)1994年,Oak语言正式更名为Java;
(4)Java语言凭借其独有的安全性、可移植性和平台无关性,迅速走红。
六、Java可以做什么?
(学生查询资料)
由学生自助通过各种方式查询资料,然后老师随机抽取1-3名同学回答。
七、Java虚拟机(讲授)
(1)Java虚拟机(JavaVirtualMachine)是可运行Java字节码的虚拟计算机系统。
(2)使用Java语言编写的程序,实际上是运行在JVM之上,而不是运行在操作系统上。
(3)它有一个解释器组件,可以实现Java字节码和计算机操作系统之间的通信。
八、开发Java程序的步骤(讲授)
(1)创建Java源程序
Java源程序可以使用任何文本编辑器创建与编辑,一般用.java作为扩展名,其实就是一个使用Java语言编写的文本文件;
(2)编译源程序
Java编译器读取Java源程序并翻译成Java虚拟机能够明白的指令集合,并以字节码的形式保存在文件中,通常,字节码文件以.class作为扩展名;
(3)运行class(字节码)文件
Java解释器读取字节码文件,取出指令并翻译成计算机能够执行的机器代码,完成运行过程。
九、编写第一个Java程序(讲授+演示)
(1)打开记事本,新建一个文本文件,将文件名改为Hello.java,在文件中键入如下内容并保存:
classHello
{
publicstaticvoidmain(String[]args)
{
System.out.println("Helloworld!
");
}
}
(2)使用javac编译器编译源文件。
(3).class(字节码)文件。
(4)使用java解释器运行字节码文件。
十、分析程序(讨论+讲授)
分组讨论,然后由每个组轮流发言;最后由老师总结。
(1)关键字class用来定义一个类,Hello是类的名称;
(2)在Java程序中,所有的语句都必须放在某个类中;
(3)整个类及其所有成员都包含在一对花括号中(即{和}之间),它们标志着类定义块的开始和结束。
(4)定义类的一般语法:
class类名
{
……
}
(5)程序必须从main函数开始执行;
(6)关键字public是访问修饰符,用来控制类成员的可见范围及作用域;
(7)关键字static允许在不创建类的实例的情况下,调用main函数;
(8)关键字void用来说明main函数是没有返回值的;
(9)args是字符串数组,用来从命令行接收参数;
(10)String[]是字符串类型的数组;
(11)在Java中,类名称一般首字母大写;
(12)使用System.out.println()将信息输出到控制台上,即打印出来。
十一、上机实验
(1)安装JDK。
(2)进行环境变量的配置。
(3)安装Eclipse。
(4)熟悉Eclipse开发环境。
作
业
布
置
(1)编程输出以下信息
*********************************************
欢迎进入Java编程世界
*********************************************
(2)课后预习Java语言基础(Java的基本数据类型、操作符、关键字、流程控制)。
课
后
总
结
(1)所有的同学都掌握了本门课程的考核方式。
(2)通过分组学习,同学之间有问题可以互相帮助,学生学习积极性很高,并且通过小组组长的汇报,一部分学习方法较好的同学的经验,得以在全班同学之间共同分享,效果很好。
(3)80%的同学都能够独立完成Java开发环境的搭建以及配置。
(4)由于前面有C语言的学习基础,70%以上同学对Java程序结构的理解都不存在问题。
整体来说,效果良好。
教案
编号:
2
章节
Java语言基础
流程控制—分支语句
授课方式
讲授+学生实验+讨论
教
学
目
的
(1)掌握Java中的变量和数据类型。
(2)掌握Java中变量的作用域规则。
(3)掌握数据类型转换。
(4)掌握Java中的运算符和表达式。
(5)掌握选择结构的几种实现方式;并能够独立的应用它们来编写程序。
(6)培养学生主动思考问题的能力。
(7)培养学生表达能力。
(8)培养学生实际动手操作能力。
教
学
重
点
(1)Java的基本数据类型、引用类型以及变量的作用域。
(2)分支语句。
教
学
难
点
(1)引用类型以及变量的作用域。
(2)分支语句。
时间
分配
教学过程
Min
10
80
90
一、作业点评(学生阐述+老师总结)
方式:
由出现程序问题的同学讲出自己出现的问题以及解决方式,最后由老师总结。
(1)类名不规范、代码排版不规范。
(2)public中的p出现大写情况;static关键字丢失;main出现mian;String中的S未大写;System中的s出现了小写。
(3)printf以及println,print输出格式混淆.
(4){}不匹配或者丢失。
二、抽查上周布置的课后作业,抽查2-5个同学来阐述Java的基本数据类型、操作符、关键字。
(学生阐述+老师讲授)
(1)标识符命名规则
a)变量、函数、数组、对象、类和接口等等都需要命名,这些名称统称为标识符;
b)Java中对于标识符的命名规则作了如下限制:
i.只能由英文字母、数字、下划线“_”和“$”符号组成。
ii.必须以英文字母、“_”或“$”开头,即不能以数字开头。
iii.除“_”和“$”以外,不能包含其它任何特殊字符。
iv.不能与关键字冲突。
v.严格区分大小写。
(2)Java中的关键字:
abstract、boolean、break、byte、case、catch、char、
class、continue、do、double、else、enum、
extends、false、find、finally、float、for、implements、
import、instanceof、int、interface、long、native、
new、null、package、private、protected、public、
return、short、static、super、switch、synchronized、
this、throw、throws、true、try、void、while
(3)数据类型
(4)变量的作用域和生命周期
a)变量的作用域指变量起作用的范围,说明变量在什么部分可以被访问;
b)变量的生命周期是指变量在内存中存在的周期,即什么时候分配空间,什么时候销毁;
(5)运算符和表达式
a)算术运算符
b)关系运算符
c)逻辑运算符
d)条件运算符
e)赋值运算符
(6)选择结构
a)if语句
b)if…else语句
c)if…elseif语句
d)switch…case语句
三、学生实验(上机+老师指导)
(1)输入一个“男”或者“女”,对应输出“M”和“F”。
(2)写程序,若星期一到星期五,则打印出“工作快乐”,若星期六、星期天则输出“周末更快乐”。
(3)输入一个分数,输出对应的等级:
60以下E
60-70D
70-80C
80-90B
90–100A
作
业
布
置
(1)输入三个数字,最后从小到大输出排序。
(2)课后预习循环结构的几种语句以及数组的定义。
课
后
总
结
(1)通过学生自己对出现问题的总结和老师的总结,80%以上的同学对常见问题的解决方法有了一个深刻的认识。
(2)通过三个上机程序,加深了对循环结构的认识。
但是依然有约20%的同学对if和switch的用法还不能掌握,需加强程序上机的编写。
教案
编号:
3
章节
流程控制—循环语句
数组
授课方式
讲授+上机
教
学
目
的
(1)掌握循环语句的使用。
(2)掌握数组的声明以及运用。
(3)培养学生主动性和积极性。
(4)培养学生的逻辑思维能力。
教
学
重
点
(1)循环语句。
(2)数组、哈希表。
教
学
难
点
(1)循环语句。
(2)数组、哈希表。
时间
分配
教学过程
Min
10
60
110
一、作业点评(学生阐述+老师总结)
方式:
由3-5个同学来讲述上周作业的实现思路,最后由老师总结出现的一些问题。
(1)类名不规范
(2)运算符的运用
(3)部分算法的不科学性
二、抽查上周布置的课后作业,抽查1-3个同学来阐述循环结构的几种语句以及数组的声明。
(学生阐述+老师讲授)
(1)循环语句
a)While
inti=0;
while(i++<3)
System.out.println(i);
b)Do……while语句
inti=1;
do
{
System.out.println(i);
}while(i++<3);
c)For语句
for(inti=1;i<=3;i++)
System.out.println(i);
(2)流程控制语句
a)break:
从switch语句、循环语句或标号标识的代码块中退出。
以下while循环用于把1加到100:
inta=1,result=0;
one:
while(true){
result+=a++;
if(a==101)breakone;//终止循环
}
System.out.println(result);//打印5050
b)continue:
跳过本次循环,执行下一次循环,或执行标号标识的循环体。
以下for循环用于对1到100之内的奇数求和:
intresult=0;
for(inta=1;a<=100;a++){
if(a%2==0)continue;//如果a是偶数,就跳出本次循环,继续执行下次循环
elseresult+=a;
}
System.out.println(result);//打印2500
(3)讨论:
判断下面程序执行了多少次?
classTest
{
publicstaticvoidmain(String[]args){
inti=0;
while(i<10){
if(i<10){
i++;
continue;
}
if(i==5)
{
break;
}
}
System.out.println(i);
}
}
(4)Java中声明数组的几种方式
//仅声明数组的引用,但没有分配内存空间
float[]fAry;
//声明数组的同时,根据指定的长度分配内存,但数组中没有值
char[]chAry=newchar[10];
//声明数组并分配内存,同时将其初始化
int[]ary1=newint[]{1,2,3,4,5};
//与前一种方式相同,仅仅只是语法相对简略
int[]ary2={1,2,3,4,5};
三、学生实验(上机)
(1)【练习题一】
编写Java程序,计算100~999之间的全部“水仙花数”的平均值。
所谓“水仙花数”是指一个三位数,其各位数字的立方和等于该数本身。
例如:
153=1^3+5^3+3^3,故153是水仙花数。
(2)【练习题二】
编写一个Java程序,要求在控制台上打印出九九乘法表,效果应如下所示:
1*1=1,
1*2=2,2*2=4,
1*3=3,2*3=6,3*3=9,
1*4=4,2*4=8,3*4=12,4*4=16,
1*5=5,2*5=10,3*5=15,4*5=20,5*5=25,
1*6=6,2*6=12,3*6=18,4*6=24,5*6=30,6*6=36,
1*7=7,2*7=14,3*7=21,4*7=28,5*7=35,6*7=42,7*7=49,
1*8=8,2*8=16,3*8=24,4*8=32,5*8=40,6*8=48,7*8=56,8*8=64,
1*9=9,2*9=18,3*9=27,4*9=36,5*9=45,6*9=54,7*9=63,8*9=72,9*9=81,
(3)【练习三】
1.打印如下图型:
*
***
*****
***
*
2.
*
**
**
**
**
**
*
作
业
布
置
(1)一个小球从100米处落下,每次弹起是原来的一半,问弹起第二十次落下后所经过的米数。
课
后
总
结
(1)通过这三周的程序编写和讲解,发现50%的同学对选择结构和循环结构的熟练程序还不够,对一些算法的实现还存在很大的问题,逻辑思维能力较弱。
因此接下来的1-2周,决定采用大量的例子程序进行上机练习,然后由老师以及学得比较好的同学进行辅导,为后面的面向对象编程的一些概念打下基础。
教案
编号:
4
章节
程序上机练习
授课方式
讲授+上机
教
学
目
的
(1)掌握分支语句、循环语句、数组的用法;加深对变量以及数组声明等用法的理解和使用。
(2)培养学生的逻辑思维能力。
(3)培养学生的实际动手能力。
(4)培养学生分析问题的能力。
教学
重点
(1)分支语句、循环语句。
教学
难点
(1)分支语句、循环语句。
时间
分配
教学过程
Min
20
160
一、作业点评(学生阐述+老师总结)
方式:
由3-5个同学来讲述上周作业的实现思路,最后由老师总结出现的一些问题。
(1)类名不规范
(2)运算符的运用
(3)部分算法的不科学性
二、上机实验
实现方式:
(一)由老师给出程序片段,由学生完成关键部分的填写,最后让学生独立运行程序。
(二)让个别同学来讲解整个程序的实现思路,最后由老师总结。
(1)求1000以内的素数(素数:
只能除开1和本身的数)
(2)已知某年某月某日,从该年的1月1日开始3天打渔2天晒网,求该日是打渔还是晒网(思路,先求出该天是该年的第几天)
(3)编写一个程序实现将任意一个十进制数转换成二进制形式输出
如10输出形式为0000000000...00000001010
(4)一个小球从100米处落下,每次弹起是原来的一半,问弹起第二十次落下后所经过的米数。
(5)求任意两个整数的最大公约数和最小公倍数
(6)输出九九乘法表(两层for循环)
(7)求1000以内的水仙花数(如153=1^3+5^3+3^3)
(8)已知一个正整数,输出它的所有质数因子(如180的质数因子为2、2、3、3、5)。
作
业
布
置
(1)求1!
+3!
+5!
+…+9!
的值
(2)求1+1/2+1/6+1/12+1/20+….前10项的和
课
后
总
结
(1)通过程序片段的方式,80%以上的同学都能够很好的完成最后的关键部分填写;这样的方式对于程序的初学者来说是一个很好的入门方式;在降低难度的同时还促进了学生的主动思考和分析问题的能力。
教案
编号:
5
章节
授课方式
教
学
目
的
教学
重点
教学
难点
时间
分配
教学过程
国庆放假
作
业
布
置
课
后
总
结
教案
编号:
6
章节
程序上机练习
授课方式
讲授+上机
教
学
目
的
(1)掌握循环结构、选择结构的用法;加深对变量以及数组声明等用法的理解和使用。
(2)培养学生的逻辑思维能力。
(3)培养学生的实际动手能力。
(4)培养学生的团队意思。
教学
重点
(1)分支语句、循环语句。
教学
难点
(1)分支语句、循环语句。
时间
分配
教学过程
Min
30
150
一、作业点评(学生阐述+老师总结)
方式:
由3-5个同学来讲述上周作业的实现思路,最后由老师总结出现的一些问题。
二、上机实验(上机+指导)
实现方式:
由学生独立完成,老师从旁指导。
对于复杂的程序由小组讨论:
如第六个小题。
在写程序的同时也增加了趣味性。
(1)万年历(周几的判断规则是(年+年/4+年/400-年/100)%7)
(2)求1!
+2!
+3!
+4!
+...+9!
的值
(3)求1+1/2+2/3+3/5+5/8+....前10项的和
(4)求Fibonacci数列:
1,1,2,3,5,8,....的前40项并输出
(5)编写一个程序,打印出
1
23
345
567
6789
(6)海滩上有一堆桃子,五只猴子来分。
第一只猴子把这堆桃子凭据分为五份,多了一个,这只猴子把多的一个扔入海中,拿走了一份。
第二只猴子把剩下的桃子又平均分成五份,又多了一个,它同样把多的一个扔入海中,拿走了一份,第三、第四、第五只猴子都是这样做的,问海滩上原来最少有多少个桃子?
桃子的个数有多少种可能?
(7)写一段程序,定义int型变量代表month月份,并赋给初值,根据月份判断出这个月是四季中的哪个季节?
不是一年12个月份的月份,输出“错误月份”;
(8)给一个不多于5位的正整数,要求:
一、输出它是几位数,二、逆序打印出各位数字。
作
业
布
置
(1)编写程序,打印出
1
23
456
78910
1112131415
(2)课后预习面向对象编程的概念。
课
后
总
结
通过两周的课堂编程练习以及老师的指导和讲解,80%的同学对Java语言基础、循环结构、选择结构以及数组的应用基本熟练,达到了Java编程的入门级水平(能够编写一些简单的应用程序,如:
打印图案,数字排序,平年与闰年的判断等);在逻辑思考上也有了一些进步,但是程序的训练还需进一步的加强。
教案
编号:
7
章节
面向对象开发方法概述
授课方式
讲授+上机
教
学
目
的
(1)了解什么是面向对象。
(2)掌握面向对象的基本概念(类、对象、属性、封装、继承、多态)。
(3)掌握如何定义类,如何创建对象。
(4)掌握成员运算符的使用。
(5)掌握访问控制权限:
public和private。
(6)培养学生抽象客观世界成主观世界的能力。
(7)培养学生初步的设计软件系统的能力。
(8)培养学生的团队意识。
教
学
重
点
(1)面向对象的核心思想和概念
教
学
难
点
(1)面向对象的核心思想和概念
时间
分配
教学过程
Min
15
15
10
10
20
20
10
10
15
55
一、作业点评(学生阐述+老师总结)
方式:
由1-3个同学来讲述上周作业第六题的实现思路以及展示具体实现,最后由老师总结出现的一些问题。
二、上周课后作业检查
方式:
抽查2-5名同学谈谈对面向对象编程的认识以及对基本概念的描述。
三、面向对象的编程思想
四、对象
(1)现实世界中的实体是实际存在的某种物体,用OOP的术语就称为对象。
(2)在Java中我们通过对象对现实世界中的实体进行一个模拟和映射。
(3)对象是面向对象编程的核心部分,和现实世界一样,需要具有明确定义的状态和行为。
(4)对象的特征——属性
a)属性——对象具有的各种特征
b)每个对象的每个属性都拥有特定值
(5)对象的特征——方法
a)方法——对象执行的操作
五、类
(1)人们为了更好地认识世界,将现实生活中的事物(对象)划分成类;
(2)同一类中的事物总是具有一些共性;
(3)类以共同的特性和行为定义实体;
(4)类是具有相同属性和行为的一组对象的集合。
(5)类和对象的区别
a)类是用来描述实体的“模板”或“原型”;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JAVA 面向 对象 程序设计 教案