本次课标题:说课 、第1章 面向对象技术I 授课日期 上课地点 知识目标 第1周 周3 课 授课班级 时 2 能力(技能)目标 教 学 1. Java高级技术体系 1 掌握Java知识体系 2 掌握面向对象技术思想 目 2. 了解Java典型应用 标 3. 应用面向对象思想处理问题 教 学 任 务 教学任务: 课程整体设计介绍 Java技术体系 Java典型 应用 及 案 例 教学案例: 编写职员类。 重 点 重点:Java典型 应用 难 难点:Java技术体系 点 单 元 练习写一个职员类,包括属性:年龄、姓名、工 考 核 参 考 《Java面向对象程序设计》 资 料 注:表格内容统一用5号宋体填写。
资;方法:显示年龄、显示姓名、修改姓名、获取工资 面向对象技术基础应用: 教学设计
教师活动 步 骤 教学内容 (方法与手段) 学生活动 时间分配 告知 (教学内容、 1. Java高级程序技术体系 讲授 2. Java面向对象设计思想 设问 5分钟 目的) 实现管理员类 引入 启发 (任务项目) 提问 个别回答 演示 讨论 10 分钟 1.定义管理员类 操练 (掌握初步或基本能力) 3.类的成员 2. 定义管理员类的属性 学生操作 集体提示 教师讲解 个别操作 15分钟 1. 编写类的toDate()方深化 法 (加深对基本能力的体会) 3.使用类的属性 归纳 (知识和能力) 类的属性控制能力 2.创建管理员对象 教师演示 个别回答 要点提示 集体讨论 重点讲解 10分钟 集体思考 讲授 个别回答 5 分钟 训练 巩固 运行与调试 拓展 检验 1. 会定义一个类 2. 会创建一个对象 总结 (1)会编写和使用类的toDate()方法 作业 编程题 1.提问与比较教学方式,激发学生兴趣。 后记 程序调试,让学生对Java程序获取感性认识。 启发诱导 个人操作 难点提示 小组讨论 个别指导 10分钟 教师讲授 5 分钟 5 分钟 教学内容
说课内容:
1、为什么要学本门课
《Java高级程序设计》是计算机类专业必修的一门专业核心课,本课程以能力与知识相结合为培养目标,以社会岗位需求为向导,切实培养同学们的逻辑与编程思维及使用程序设计语言解决实际问题的能力,为同学们走上工作岗位打下坚实的基础。
2、 具体职业岗位专业能力培养:
(1)具备面向对象编程的编程思想及基本算法,能根据问题正确选择、组合算法。 (2)能编写代码,编写测试数据,并能调试程序,获得正确结果。 (3)具备进行分析和处理Java程序运行中产生的有关技术问题的能力。 (4)开发创新的能力。
3、 本门课学什么
通过本门课程的学习,使同学们掌握 Java 程序设计语言的基本语法, Java 面向对象编程方法,同时应具备利用 JDK来创建、编译、调试 Java 项目的能力。对于本门课程有如下三个教学目标:
(1)知识目标:理解和掌握JAVA语言基本语法和语义,掌握标准程序和小应用程序的开发方法,掌握数据库、网络编程的基本开发方法。
(2)能力目标:要求能较熟练地使用 JDK 进行 Java 程序的编辑、编译和调试技术,使用 MyEclipse进行图形用户界面设计和数据库应用程序的开发;能开发有一定实用价值的应用程序。
(3)素质目标:养成良好的编程习惯、提高团队精神和协作精神、艰苦奋斗意识、心理素质和克服困难的能力。
4、 怎么组织本门课
1)以就业为导向,进行专业定位。
2)对软件开发工作岗位和工作任务进行分析。
3)明确计算机应用专业的核心能力,进行课程设计,做到实际的工作岗位——Java软件编程师与工作任务相对应。
4)按照职业行动完整性和工作过程系统化的理念归纳出学习情境。
5)学习情境注意由浅到深,鼓励同学们利用网络资源进行自主学习和开放性学习。
课程设计理念与思路 学习内容
5、 如何学习
1)启发教学
通过各种教学方式和手段激发同学们的学习欲望,启发同学们,积极思维,发现问题,提出问题,并逐步解决问题。例如,在讲解程序设计时,不是简单地给出程序清单,而是从分析问题入手,继而找出解决问题的方法,再给出算法,最后编写出完整的程序。
这一过程的关键是每一步都采用与同学们一起探讨的方式,让同学们在启发下思考,在思考中解决问题,从而掌握分析问题、解决问题的方法。
学习方法
2)项目教学和案例教学法
以一个实际的项目(学籍管理系统)为例展开教学,将知识点融入项目中,运用面向对象的思想进行分析、设计和实现,树立同学们面向对象的程序设计思想。
而案例教学则贯穿在课程的主要章节中,通过“典型程序案例”→“语法,实践知识点说明”→“模仿编程”→“实践提高”的教学组织方式,培养同学们实际应用能力。 学习方法
通过精选案例、分解任务、讲练有机融合,将相关知识点融入项目,通过项目实现, 让同学们掌握Java技术,并对面向对象编程有一个直观和更加感性的认识,再通过动画演示、趣味教学等方法,使同学们能够积极参与整个教学过程,让同学们建立起面向对象编程的思想,体现“以同学们为中心,教师为主导”的教学思想。 学习方法
3)任务驱动教学法
对每个知识点的讲解采用“任务驱动”的方法,通过“提出任务→分析任务→完成任务→边学边做→总结”的过程,体现出互动创新、提倡个性、重在应用、共同协作的教学风格。 4)榜样激励教学法?
在教学过程中,通过展示分析高年级同学们或同班(或同年级)同学们的优秀作品,启发激励其他同学们。实践证明,榜样激励教学法很有效,特别是展示同班(或同年级)同学们作品最具激励作用。
6、 考核方法
根据实践为主、理论够用的高职教学原则,本课程的考核注重学习过程评价、注重专业实践能力。
考试成绩=理论考试(课程学习结束时,采用“教考分离”制度,以闭卷笔试方式进行。考试成绩占学科成绩的80%)+平日成绩(作业+出勤占20%)。
7、 Java
语言的诞生
Java程序在1995年诞生。目前使用的Java版本是Java2,它包括J2SE、J2EE、J2ME三个版本,分别用于不同的领域。
J2SE(Java Standard Edition)—用于工作站、PC机,为桌面开发和低端商务应用提供了Java标准平台。
J2EE(Java Enterprise Edtion)—用于服务器,构建可扩展的企业级Java平台。
J2ME(Java Micro Edtion)—嵌入式Java消费电子平台,适用于消费性电子产品和嵌入式设备。 8、Java语言的特点
Java语言是简单的、面向对象的语言,它具有分布式、安全性,又可以实现多线程,更主要的是它与平台无关,解决了困扰软件界多年的软件移植问题。
教案首页
授课日期 上课地点 知识目标 本次课标题:第1章 面向对象技术I 第1周 周3 授课班级 课 时 2 1JD308 教 能力(技能)目标 学 1. 会编写类的成员方法 1.创建包 目 2. 会进行方法调用 2.在包中创建类 标 3. 会创建包和导入包 教 学 训练任务: 任 1. 包的应用 务 2.项目实战任务---编码实现购物管理系统的部分功能 及 案例:开发“shopping我喜欢”购物管理系统(2) 案 例 重 点 教学重点:1. 包的应用 2.项目实战任务---编码实现购物管理系统的部分功能 难 教学难点:语法错误原因查找及解决; 点 单 元 1. 包的应用 考 2.项目实战任务---编码实现购物管理系统的部分功能 核 参 考 《Java面向对象程序设计》 资 料 注:表格内容统一用5号宋体填写。
教学设计
教师活动 步 骤 教学内容 (方法与手段) 学生活动 时间分配 告知 (教学内容、 目的) 本次课主要内容: 在包中创建类 讲授 设问 5分钟 进行方法调用 1. 创建购物系统项目结构 演示 引入 启发 (任务项目) 提问 讨论 5 分钟 个别回答 操练 1.创建包 教师讲解 学生操作 类 个别操作 15分钟 集体提示 (掌握初步或2.在创建的包中创建管理员基本能力) 深化 (加深对基本能力的体会) 教师演示 个别回答 1.完成购物系统的项目结构 要点提示 集体讨论 重点讲解 10分钟 归纳 (知识和能力) 启发诱导 运行与调试 巩固 难点提示 类的属性控制能力 讲授 集体思考 5 分钟 个别回答 训练 个人操作 10分钟 小组讨论 拓展 检验 个别指导 1.创建包 总结 教师讲授 (2)2.在创建的包中创建管理员类 作业 后记 编程题 5 分钟 5 分钟 教学内容
现在我们来创建一个电动狮子(AutoLion)类,它的属性和行为见示例1. 示例1 * *
* 电动玩具类 */
public class AutoLion {
Date color = \"黄色\";
练使用继承 讲授 2.会使用this关键字 设问 3.会进行代码排错 5分钟 演示 引入 继承案例 (任务项目) 提问 操练 (掌握初步或基本能力) 继承语法框架编写 学生操作 集体提示 启发 个别回答 讨论 5 分钟 Java框架 教师讲解 个别操作 15分钟 深化 掌握Java开发步骤 (加深对基本能力的体会) 掌握继承语法 教师演示 个别回答 要点提示 集体讨论 重点讲解 10分钟 归纳 (知识和能力) 1.制作系统主菜单 讲授 1. 代码排错 集体思考 5 分钟 个别回答 训练 巩固 1.开发Java继承程序的步启发诱导 骤 难点提示 项目组织结构 个别指导 编码规范 个人操作 10分钟 小组讨论 拓展 检验 开发Java程序的步骤 总结 Java程序的框架 教师讲授 5 分钟 作业 后记 习题 教学内容
5 分钟 继承机制
同类事物具有共同性,在同类事物中,每个事物又具有其特殊性。运用抽象的原则舍弃对象的特殊性,抽取其共同性,则得到一个适应于一批对象的类,这便是一般类,而把具有特殊性的类称为特殊类。也就是说,如果类B具有类A的全部属性和方法,而且又具有自己特有的某些属性和方法,则把类A称作一般类,把类B叫做类A的特殊类。例如:考虑轮船和客轮这两个类。轮船具有吨位、时速、吃水线等属性,并具有行驶、停泊等服务;客轮具有轮船的全部属性与服务,又有自己的特殊属性(如载客量)和服务(如供餐等)。若把轮船看做一般类,则客轮是轮船的特殊类。
在面向对象程序设计中,继承所表达的就是一种对象类之间的相交关系,它使得某类对象可以继承另外一类对象的数据成员和成员方法。若类B继承类A时,则属于B的对象便具
有类A的全部或部分性质(数据属性)和功能(操作)。我们称被继承的类A为基类、父类或超类,而称继承类B为A的派生类或子类。父类与子类的层次关系如图4-2所示。 父类 子类 运输工具 图4-2 父类与子类的层次关系 汽车 轮船 飞机 继承避免了对一般类和特殊类之间共同特征进行的重复描述。同时,通过继承载重汽车 公共汽车 货轮 客轮 空中加油 客机 可以清晰地表达每一项共同特征所适应的概念范围——在一般类中定义的属性和操作适应于这个类本身以及它以下的每一层特殊类的全部对象。运用继承原则使得系统模型比较简练也比较清晰。一般来说,继承具有下述特征:
(1) 继承关系是传递的。若类C继承类B,类B继承类A时,则类C既有从类B继承下
来的属性与方法,也有从类A中继承下来的属性与方法,还可以有自己新定义的属性和方法。继承来的属性和方法尽管是隐式的,却仍是类C的属性和方法。继承是在一些比较一般的类的基础上构造、建立和扩充新类的最有效的手段。
(2) 继承简化了人们对事物的认识和描述,能清晰体现相关类间的层次结构关系。 (3) 提供软件复用功能。若类B继承类A,建立类B时只需要再描述与基类(类
A)不同的少量特征(数据成员和成员方法)。这种做法能减小代码和数据的冗余度,大大增加程序的重用性。
(4) 通过增强一致性来减少模块间的接口和界面,大大增加程序的易维护性。 (5) 单一继承机制。而Java出于安全性和可靠性的考虑,仅支持单重继承,而
实现多个接口。
教案首页
本次课标题:第2章面向对象技术II 授课日期 上课地点 第2周 周3 授课班级 教 学 目 课 时 2 一体化B 能力(技能)目标 知识目标 能够用继承处理问题 初步理解面向对象编程思想 能够使用Java程序解决常见问题 掌握java单继承逻辑结构。 标 教学任务: 继承; 教 Static final关键字 学 任 案例: 务 描述两种动物羊Sheep和狼Wolf ,各自的要求如下: 及 案 p属性:名称,重量 例 p方法:吃饭(吃草)、睡觉、呼吸、动物描述 lWolf lSheep p属性:名称,重量 p方法:吃饭(吃肉)、睡觉、呼吸、动物描述 重 点 重点:开发Java程序的步骤 难点:Java程序的框架 难 点 单 元 Java程序的框架 考 核 参 考 《Java面向对象程序设计》 资 料 注:表格内容统一用5号宋体填写。
项目的开发 教学设计
教师活动 步 骤 教学内容 (方法与手段) 1.熟练使用继承 告知 2.会使用static final关键(教学内容、 字 目的) 3.会进行代码排错 设问 讲授 5分钟 学生活动 时间分配 演示 引入 继承案例 (任务项目) 提问 启发 个别回答 讨论 5 分钟 操练 (掌握初步或基本能力) Java static final 关键教师讲解 字 学生操作 继承语法框架编写 集体提示 个别操作 15分钟 深化 掌握Java开发步骤 (加深对基本能力的体会) 掌握继承语法 教师演示 个别回答 要点提示 集体讨论 重点讲解 10分钟 归纳 (知识和能力) 训练 巩固 拓展 检验 1. 类的关键字作用 讲授 2. 代码排错 集体思考 5 分钟 个别回答 启发诱导 1开发Java继承程序的步骤 难点提示 2Java项目组织结构 个别指导 小组讨论 个人操作 10分钟 开发Java程序的步骤 总结 Java程序的框架 教师讲授 5 分钟 作业 后记 习题 教学内容
5 分钟 案例如下:
public B(){
为B继承了A必然继承了A的特性.所以输入int值10令方法实现. super(10);
里注意num在类A中需是成员java api才可以. } }
练使用多态 2.会使用static final关键 讲授 设问 5分钟 字 3.会进行代码排错 演示 引入 多态案例 (任务项目) 提问 启发 个别回答 讨论 5 分钟 操练 (掌握初步或基本能力) Java static final 关键教师讲解 字 学生操作 多态语法框架编写 集体提示 个别操作 15分钟 深化 掌握Java开发步骤 (加深对基本能力的体会) 掌握多态语法 教师演示 个别回答 要点提示 集体讨论 重点讲解 10分钟 归纳 (知识和能力) 训练 巩固 拓展 检验 1. 类的关键字作用 讲授 3. 代码排错 集体思考 5 分钟 个别回答 启发诱导 1开发Java多态程序的步骤 难点提示 2Java项目组织结构 个别指导 小组讨论 个人操作 10分钟 开发Java程序的步骤 总结 Java程序的框架 教师讲授 5 分钟 作业 后记 习题 教学内容
5 分钟 案例如下:
public B(){
为B多态了A必然多态了
教案首页
授课日期 上课地点 本次课标题:第3章面向对象技术III(多态) 第3周 周3 授课班级 教 学 目 课 时 2 一体化B 能力(技能)目标 知识目标 能够用多态处理问题 初步理解面向对象编程思想 能够使用Java程序解决常见问题 掌握java单多态逻辑结构。 标 教 教学任务: 学 任 Static final关键字 务 及 案例: 多态; 案 描述两种动物羊Sheep和狼Wolf ,各自的要求如下: 例 lSheep p属性:名称,重量 p方法:吃饭(吃草)、睡觉、呼吸、动物描述 lWolf p属性:名称,重量 p方法:吃饭(吃肉)、睡觉、呼吸、动物描述 重 点 难点:Java程序的框架 难 点 单 元 Java程序的框架 考 核 项目的开发 重点:开发Java程序的步骤 参 《Java面向对象程序设计》 考 资 料 注:表格内容统一用5号宋体填写。
教学设计
教师活动 步 骤 教学内容 (方法与手段) 1.熟练使用多态 告知 2.会使用static final关键(教学内容、 字 目的) 3.会进行代码排错 设问 讲授 5分钟 学生活动 时间分配 演示 引入 多态案例 (任务项目) 提问 操练 (掌握初步或基本能力) 启发 个别回答 讨论 5 分钟 Java static final 关键字 教师讲解 学生操作 个别操作 15分钟 集体提示 多态语法框架编写 深化 掌握Java开发步骤 (加深对基本能力的体会) 掌握多态语法 教师演示 个别回答 要点提示 集体讨论 重点讲解 10分钟 归纳 (知识和能力) 训练 巩固 拓展 检验 1. 类的关键字作用 讲授 4. 代码排错 集体思考 5 分钟 个别回答 启发诱导 1开发Java多态程序的步骤 难点提示 2Java项目组织结构 个别指导 小组讨论 个人操作 10分钟 开发Java程序的步骤 总结 Java程序的框架 教师讲授 5 分钟 作业 后记 作用
习题 5 分钟 把不同的子类对象都当作父类来看,可以屏蔽不同子类对象之间的差异,写出通用的代码,做出通用的编程,以适应需求的不断变化。
赋值之后,父对象就可以根据当前赋值给它的子对象的特性以不同的方式运作。也就是说,父亲的行为像儿子,而不是儿子的行为像父亲。
举个例子:从一个基类中派生,响应一个虚命令,产生不同的结果。
比如从某个基类继承出多个对象,其基类有一个虚方法Tdoit,然后其子类也有这个方法,但行为不同,然后这些子对象中的任何一个可以赋给其基类对象的引用,或者将子对象地址赋给基类指针,这样其基类的对象就可以执行不同的操作了。实际上你是在通过其基类来访问其子对象的,你要做的就是一个赋值操作。 使用继承性的结果就是可以创建一个类的家族,在认识这个类的家族时,就是把导出类的对象当作基类的对象,这种认识又叫作upcasting。这样认识的重要性在于:我们可以只针对基类写出一段程序,但它可以适应于这个类的家族,因为编译器会自动就找出合适的对象来执行操作。这种现象又称为多态性。而实现多态性的手段又叫称动态绑定(dynamic binding)。
简单的说,建立一个父类的对象,它的内容可以是这个父类的,也可以是它的子类的,当子类拥有和父类同样的函数,当使用这个对象调用这个函数的时候,定义这个对象的类(也就是父类)里的同名函数将被调用,当在父类里的这个函数前加virtual关键字,那么子类的同名函数将被调用。 3例子
class A { public: A() {} void foo() { } };
class B : public A { public: B() {} void foo() { }
};
public interface Parent
• – qualsIgnoreCase(s2)) ;
String s = \"我是J2EE程序员\" ; String sr = ('我','你') ; } } :
程序代码
public class TestString2
{
public static void main(String args[]) { String s = \"Welcome to Java World!\" ; String s2 = \" magci \" ; String sL = () ; String sU = () ; String subS = (11) ; String s1NoSp = () ;
}
教案首页
本次课标题:第4章 接口 抽象类、常见类 (date) 授课班级 授课日期 第4周 周3 上课时间 2课时 上课地点 实验楼3楼 知识目标 能力(技能目标) 教学目标 知会Date的应用 能利用Date完成数据的存取。 • 掌握java api的概念 • 会使用常用Date 训练任务:升级Java应用程序输出学生相关信息 实现运算功能: 计算成绩差 计算成绩平均分 案例:开发“shopping我喜欢”购物管理系统(2) 重 点 难 点 任务: 开发“shopping我喜欢”购物管理系统: – 实习购物结算及购物小票打印业务。 单元考核 – 计算会员购物所获积分 – 模拟幸运抽奖。 – 计算员工工资。 教学重点:使用常用Date 教学难点:使用常用Date 能力训练任务及案例 参考资料 Java程序开发教程 清华大学出版社 张基温 步 骤 教学内容 教学方法 教学手段 学生活动 时间分配 本次课主要内容: 掌握java api中 的Date 告知 (教学内容、目的) 赋值运算符,算术运算符 会进行Date转换 会使用常用Date 设问 演示 讲授 课件 10 分钟 项目案例演示 引入 演示 启发 效果演示 讨论 个别回答 5 分钟 (任务项目) 提问 教师讲操练 (掌握初步或基本能力) 指导——计算购物消费金额 解 演示 学生操作 个别操作 集体提示 20 分钟 教师演示 深化 (加深对基本阶段2:练习——实现购要点提物结算、购物小票打印及示 重点讲解 步骤课件 集体讨论 钟 个别回演示操作 答 25 分能力的体会) 购物积分计算 。 集体思归纳 (知识和能力) 阶段3:指导——模拟幸讲授 运抽奖的时间 演示 个别回答 钟 课件 考 10 分启发诱训练 巩固 拓展 检验 如何进行强制类型转换 运行与调试 发生自动类型转换的条导 件 难点提视频课件 示 个别指导 小组讨论 钟 个人操作 35 分教师讲总结 什么是java api 授 课件 10 分钟 如何声明java api 和使用java api Java中常用的Date有哪些方法 作业 练习——计算员工工资 5 分钟 后记 加强Date的理解 日期类Date
Java在日期类中封装了有关日期和时间的信息,用户可以通过调用相应的方法来获取系统时间或设置日期和时间。Date类中有很多方法在公布后已经过时了,在中我
们将介绍中新加的用于替代Date的功能的其它类。
在日期类定义了六种构造函数。
(1)publicDate()
创建的日期类对象的日期时间被设置成创建时刻相对应的日期时间。 例Datetoday=newDate(); (4)publicDate(intyear,intmonth,intdate)
(5)publicDate(intyear,intmonth,intdate,inthrs,intmin) (6)publicDate(intyear,intmonth,intdate,inthrs,intmin,intsec)
按给定的参数创建一日期对象。
参数说明:
year的值为:需设定的年份-1900。例如需设定的年份是1997则year的值应
为97,即1997-1900的结果。所以Date中可设定的年份最小为1900;
month的值域为0~11,0代表1月,11表代表12月;
date的值域在1~31之间;
hrs的值域在0~23之间。从午夜到次日凌晨1点间hrs=0,从中午到下午1点
间hrs=12;
min和sec的值域在0~59之间。 例Dateday=newDate(11,3,4);
intmin,intsec)
该方法将利用给定参数计算UTC值。UTC是一种计时,与GMT(格林威治时间)的计时体系略有差别。UTC计时体系是基于原子时钟的,而GTMT计时体系是基
于天文学观测的。计算中使用的一般为GMT计时体系。
(2)publicstaticlongparse(Strings)
该方法将字符串s转换成一个long型的日期。在介绍构造方法Date(longdate)
时曾使用过这个方法。
字符串s有一定的格式,一般为:
(星期日年时间GMT+时区) 若不注明时区,则为本地时区。 (3)publicvoidsetMonth(intmonth)
(4)publicintgetMonth()
这两个方法分别为设定和获取月份值。
获取的月份的值域为0~11,0代表1月,11代表12月。
(5)publicStringtoString()
(6)publicStringtoLocalString() (7)publicStringtoGMTString()
将给定日期对象转换成不同格式的字符串。它们对应的具体的格式可参看例子。
(8)publicintgetTimezoneOffset() 该方法用于获取日期对象的时区偏移量。
例中对上面介绍的Date类中的基本方法进行了具体的应用,并打印了相应的结果。由于使用了一些过时的方法,所以编译时会有警告信息。另外,由于本例中的时间表示与平台有关,不同的JDK版本对此处理不完全相同,因此不同版本的JDK
执行本例的结果可能有细微差异。
例?
publicclassDateApp{
publicstaticvoidmain(Stringargs[]){
Datetoday=newDate();
• –
• –
•
• ;
public class LinkedListTest { /**
* @param args */
public static void main(String[] args) {
•
•
•
• 不是一启动线程(调用start()方法)就执行这个线程,而是进入就绪状态,什么时候运行要看CUP。 ②
教案首页
授课日期 上课地点 本次课标题:第10章 数组的使用 第11周 周3 授课班级 12软件外包 课 时 4 一体化教室B 教 能力(技能)目标 知识目标 学 目 1. 掌握数组的使用 标 教 学 任 务 案例:查找八戒周劳作最高得分、对八戒的周劳作得分进行排序 及 案 例 重 点 重点:封装的实现 难 难点:掌握类的封装 点 单 项目实战任务--查找八戒周劳作最高得分、对八戒的周劳作得分进行排序 元 考 核 1.数组使用——赋值 参 考 《Java语言与面向对象程序设计》 资 料 注:表格内容统一用5号宋体填写。
教学设计
教师活动 步 骤 教学内容 (方法与手段) 1.数组使用——声明 讲授 设问 目的) 3.数组使用——赋值 5分钟 学生活动 时间分配 告知 (教学内容、 2.数组使用——分配空间 演示 1.查找八戒周劳作最高得引入 分、对八戒的周劳作得分进启发 (任务项目) 行排序 提问 操练 (掌握初步或基本能力) 1.数组使用——声明 学生操作 集体提示 个别回答 讨论 5 分钟 教师讲解 个别操作 15分钟 深化 (加深对基本能力的体会) 代码练习 教师演示 个别回答 要点提示 集体讨论 重点讲解 10分钟 归纳 (知识和能力) 训练 巩固 1.数组使用——赋值 拓展 检验 总结 1.掌握数组的使用 个别指导 难点提示 启发诱导 1.数组使用——分配空间 讲授 集体思考 5 分钟 个别回答 个人操作 10分钟 小组讨论 教师讲授 5 分钟 作业 后记 习题 教学内容
5 分钟 知识点:
1、使用数组四步走:
数组声明——告诉计算机数据类型是什么
数据类型 数组名[ ] ; 数据类型[ ] 数组名 ;
String[ ] strings; #\").format(avg)); }
}
public class Error1 { public static void main(String[ ] args) { int[ ] numbers = new int[ ]; numbers[0] = 9; numbers[1] = 12; }
}
必须为数组分配空间才可以正常使用。 public class Error1 {
public static void main(String[ ] args) { }
}
int[ ] numbers = new int[2]; numbers[0] = 9; numbers[1] = 12; numbers[2] = 12;
数组元素最大下标 = 数组空间个数 - 1 public class Error3 {
public static void main(String[ ] args) {
int[ ] numbers = new int[2];
五个瓶子排成一排(避免拿乱了出错),取出第一个和第二个瓶子分别放
在天平两侧,重的留下,轻的取下去。
2. 放入第三个瓶子,仍然留下中的一个,轻的取走。 3. 依次类推,最后留在天平上的就是最重的瓶子。
字符串对象的各种操作 1.比较姓名是否相同 教 学 任 务 案例:比较姓名是否相同 及 案 例 重 点 重点:字符串对象的各种操作 难 难点:字符串比较 点 单 项目实战任务--比较姓名是否相同 元 考 核 参 考 《Java语言与面向对象程序设计》 资 料 注:表格内容统一用5号宋体填写。
教学设计
教师活动 步 骤 教学内容 (方法与手段) 告知 (教学内容、 • 字符串比较 设问 目的) 演示 1.比较姓名是否相同 (任务项目) 启发 个别回答 讨论 5 分钟 学生活动 时间分配 讲授 5分钟 引入 提问 操练 (掌握初步或基本能力) 1.字符串比较 教师讲解 学生操作 个别操作 15分钟 集体提示 深化 (加深对基本能力的体会) 代码练习 教师演示 个别回答 要点提示 集体讨论 重点讲解 10分钟 归纳 (知识和能力) 训练 巩固 1.比较姓名是否相同 拓展 检验 总结 1.字符串比较 个别指导 难点提示 启发诱导 1.字符串比较 讲授 集体思考 5 分钟 个别回答 个人操作 10分钟 小组讨论 教师讲授 5 分钟 作业 后记 习题 教学内容
5 分钟 知识点:
1.如何定义一个字符串
每人每天都在不停的说话,而把我们说的每一句话原样搬入程序中的话,就是Java中的字符串了,如:“嗨!吃了没”、“累够呛,回家得睡3天!”、“又来了!你刚睡了5天了吧!”等等,可以说,无论是在生活中,还是在程序中,字符串都是无处不在的。 定义字符串的方法 ength();
Scanner input = new Scanner; String str = ();
\"\\\"\");
String类提供了equals()方法比较字符串内容是否相同 比较你与小新所喜欢的歌手是不是同一个人。
Scanner input = new Scanner; String favName1 = (); String favName2 = ();
if (favName2)) { } else { }
equals()方法比较字母的时候是区分大小写的,比如:Java与java对于我们来说是同一个意思,但是对于equals()方法来说,则是不同的。那么如何不区分大小写进行比较呢
ava提供了两个方法可以把字符串转换为大写或者小写: toUpperCase() 将字符串中的英文部分转换为大写。 toLowerCase() 将字符串中的英文部分转换为小写。 if ().
equals())) {
} else { }
2、字符串比较
String类还提供了忽略大小写的比较方式,更简单易用。使用方式与equals()方法完全相同。
字符串对象. equalsIgnoreCase(被比较字符串对象) ;
教案首页
授课日期 上课地点 本次课标题:第12章 字符串对象的各种操作 第13周 周3 授课班级 12软件外包 课 时 4 1JD308 教 学 能力(技能)目标 知识目标 目 1. 字符串对象的各种操作 标 教 学 任 务 案例:验证邮箱地址 及 案 例 1.字符串对象的各种操作 重 点 重点:字符串对象的各种操作 难 难点:字符串对象的各种操作 点 单 项目实战任务--验证邮箱地址 元 考 核 参 考 《Java语言与面向对象程序设计》 资 料 注:表格内容统一用5号宋体填写。
教学设计
教师活动 步 骤 教学内容 (方法与手段) 学生活动 时间分配 告知 (教学内容、 1.字符串拼接 2.查找及截取方法 讲授 设问 5分钟 目的) 演示 引入 1.验证邮箱地址 (任务项目) 提问 操练 (掌握初步或基本能力) 1.查找及截取方法 学生操作 集体提示 启发 个别回答 讨论 5 分钟 教师讲解 个别操作 15分钟 深化 (加深对基本能力的体会) 代码练习 教师演示 个别回答 要点提示 集体讨论 重点讲解 10分钟 归纳 (知识和能力) 训练 巩固 拓展 1.高阶应用——综合示例 难点提示 1.字符串拼接 讲授 集体思考 5 分钟 个别回答 启发诱导 个人操作 10分钟 小组讨论 检验 个别指导 总结 字符串对象的各种操作 教师讲授 5 分钟 作业 后记 习题 教学内容
5 分钟 知识点: 1、字符串拼接
已经使用过的字符串拼接:
除了使用连接符外,Java还提供了一个专门用于拼接字符串的方法concat(),这个方法可以将一个字符串拼接到另一个字符串的尾部。 String word1 = \"Hello,\"; String word2 = \"World!\"; String info = (word2); 2、查找及截取方法
想玩转字符串的查找方法,首先要理解字符串的构成,在前面说过,字符串是由多
个字符组成的,那么,我们可以将字符串看做是一个字符数组。既然是数组,那就可以像数组一样使用索引了。
一个字符串就类似于一个数组,由多个字符元素构成,每个字符元素拥有自己的索引,索引位置从0开始。
indexOf()方法:在字符串的内部搜索指定的某个字符或者字符串。 String str = \"我们是希望\"; int index = (\"希\");
执行代码,返回“希”字的索引位置3。
lastIndexOf()方法:与indexOf()方法类似,不同的是lastIndexOf()查找的是指定字符或字符串在完整字符串中最后一次出现的位置。 String str = \"我们有很多很多的希望\"; int index = (\"很多\");
执行后,返回第二个“很多”所在的索引位置5。
substring(int index)方法:此方法用于从指定位置开始截取字符串,一直截取至字符串的尾部。
String str = \"我们都是好孩子!异想天开的孩子!\"; String result = (8);
使用substring()方法并指定从索引位置8开始截取字符串后,result的值打印出来为:异想天开的孩子!
substring(int index, int endIndex)方法:此方法提供了指定的开始位置以及结束位置的索引,可以帮助我们从字符串中截取出任意一部分字符串。 String str = \"我们都是好孩子!异想天开的孩子!\"; String result = (8, 12); result的值最后为:异想天开。 3、综合示例
第一步:确认八戒正在进行邮件发送。即验证消息的接收者是否为一个电子邮箱。 在这里我们不做精密的验证,仅仅判断消息接受者是否包含“@”符号及“.”,并且“.”符号在@符号后面。
>
(\"@\")) {
调用toString()方法转换为String类掌握StringBuffer的使用 型 教 学 任 务 案例:自定义方法实现计算器 及 案 例 重 点 重点:掌握StringBuffer的使用 难 难点:StringBuffer转成String类型 点 单 项目实战任务--自定义方法实现计算器 元 考 核 参 考 《Java语言与面向对象程序设计》 资 料 注:表格内容统一用5号宋体填写。
教学设计
教师活动 步 骤 教学内容 (方法与手段) 1. StringBuffer调用学生活动 时间分配 toString()方法转换为告知 (教学内容、 对象调用append方法将在设问 目的) StringBuffer对象后面追加新的字符串 String类型 讲授 5分钟 演示 引入 1.自定义方法实现计算器 (任务项目) 提问 启发 个别回答 讨论 5 分钟 操练 (掌握初步或基本能力) 调用toString()方法转换为String类型 教师讲解 学生操作 个别操作 15分钟 集体提示 深化 (加深对基本能力的体会) 代码练习 教师演示 个别回答 要点提示 集体讨论 重点讲解 10分钟 归纳 (知识和能力) 训练 巩固 对象调用append方法将在StringBuffer对象后面追讲授 加新的字符串 集体思考 5 分钟 个别回答 启发诱导 个人操作 1.自定义方法实现计算器 难点提示 小组讨论 个别指导 10分钟 拓展 检验 1.掌握StringBuffer的使总结 用 教师讲授 5 分钟 作业 后记 习题 教学内容
5 分钟 知识点:
1.符串对象之StringBuffer
Java中除了我们常用的String类型外,还提供了StringBuffer类型作为更高效的处理类型。
StringBuffer对象的声明及初始化。
StringBuffer buffer = new StringBuffer(); StringBuffer buffer2 = new StringBuffer(\"小新\"); 2.使用StringBuffer对象。 String s1 = ();
String s2 = (\你好!\");
StringBuffer对象可以通过调用toString()方法转换为String类型,调用append方法将在StringBuffer对象后面追加新的字符串。
教案首页
授课日期 上课地点 本次课标题:第14章 项目案例分析 第15周 周3 授课班级 12软件外包 课 时 4 一体化教室B 教 学 目 能力(技能)目标 知识目标 1. 项目案例分析 2. 功能流程分析 1、项目案例分析 2、功能流程分析 标 教 学 任 务 案例:黑杰克游戏 及 案 例 重 点 重点:项目案例分析 难 难点:功能流程分析 点 单 项目实战任务--黑杰克游戏 元 考 核 参 考 《Java语言与面向对象程序设计》 资 料 注:表格内容统一用5号宋体填写。
教学设计
教师活动 步 骤 教学内容 (方法与手段) 告知 (教学内容、 2、功能流程分析 目的) 演示 引入 1.黑杰克游戏 (任务项目) 提问 操练 (掌握初步或基本能力) 1.项目案例分析 学生操作 集体提示 启发 个别回答 讨论 5 分钟 设问 学生活动 时间分配 1、项目案例分析 讲授 5分钟 教师讲解 个别操作 15分钟 深化 (加深对基本能力的体会) 代码练习 教师演示 个别回答 要点提示 集体讨论 重点讲解 10分钟 归纳 (知识和能力) 训练 巩固 1.黑杰克游戏 拓展 检验 项目案例分析、功能流程分总结 析 教师讲授 个别指导 难点提示 启发诱导 1.功能流程分析 讲授 集体思考 5 分钟 个别回答 个人操作 10分钟 小组讨论 5 分钟 作业 后记 习题 教学内容
5 分钟 知识点:
1、 黑杰克游戏实现如下功能
发牌:一开始给每个玩家发一张牌,这张牌是底牌,只有玩家自己知道是什么,然
后只发给要牌的玩家。如果所有玩家都不再要牌,则开牌计分。
计分:2到10都是按牌面计算点数,直接累加。J、Q、K按10点计算,A一般记作11点累加,此时如果点数大于21点则将A记作1点。
爆分:21点为最大点数值,如果玩家手中的牌点数大于21点,则属于爆分,玩家手中点数将归0,判定为输。
要牌:玩家在底牌之后可以继续要牌,知道点数满意或爆分为止。 下注:玩家在每局开局前可下注,定当前局输赢的钱数。 输赢:21点位最大点数,哪个玩家点数大,就哪个玩家赢 2、需求讲解(30分钟)
教员演示游戏效果,讲解基本需求。 3、编码阶段(350分钟) (1)扑克及玩家类(100分钟) (2)荷官类(50分钟)
(3)玩家手中的牌类(50分钟) (4)游戏类主要方法(50分钟) (5)游戏类辅助方法(30分钟)
教案首页
授课日期 上课地点 本次课标题:第14章 项目案例分析 第16周 周3 授课班级 12软件外包 课 时 4 1JD308 教 学 能力(技能)目标 知识目标 1.创建对应的对象类 目 1. 项目规划设计 标 教 学 任 务 案例:黑杰克游戏 及 案 例 重 重点:项目规划设计 点 难点:创建对应的对象类 难 点 单 项目实战任务--黑杰克游戏 元 考 核 参 考 《Java语言与面向对象程序设计》 资 料 注:表格内容统一用5号宋体填写。
教学设计
教师活动 步 骤 教学内容 (方法与手段) 告知 (教学内容、 2.创建对应的对象类 目的) 设问 学生活动 时间分配 项目规划设计 讲授 5分钟 演示 引入 1.黑杰克游戏 (任务项目) 提问 操练 (掌握初步或基本能力) 1.项目规划设计 学生操作 集体提示 启发 个别回答 讨论 5 分钟 教师讲解 个别操作 15分钟 深化 (加深对基本能力的体会) 代码练习 教师演示 个别回答 要点提示 集体讨论 重点讲解 10分钟 归纳 (知识和能力) 训练 巩固 1.黑杰克游戏 拓展 检验 总结 1.项目规划设计 个别指导 难点提示 启发诱导 1.创建对应的对象类 讲授 集体思考 5 分钟 个别回答 个人操作 10分钟 小组讨论 教师讲授 5 分钟 作业 习题 5 分钟 后记 教学内容
知识点: 1.项目规划设计
1、需求讲解(30分钟)
教员演示游戏效果,讲解基本需求。 2、编码阶段(350分钟) (1)扑克及玩家类(100分钟) (2)荷官类(50分钟)
(3)玩家手中的牌类(50分钟) (4)游戏类主要方法(50分钟) (5)游戏类辅助方法(30分钟) 3、项目总结(20分钟) 创建对应的对象类 扑克类
对于一张扑克牌来说,主要有牌面值及花色,Card类用faces数组及suits数组分
别存储所有牌面值及花色,并提供了getFace()方法及getSuit()方法获取一张扑克的面值及花色信息。 荷官类
荷官的抽象只是实现了两个较核心的能力,一个是发牌,一个是洗牌。发牌涉及到一个随机算法的问题,是比较重要的运算处理。 玩家类
玩家类的抽象是非常明显的,完全模拟了现实中一个玩家的属性及行为,属性有:赢次数、输次数、拥有现金数、手上的牌。
与赌场相关的行为能力也相当完善,例如获取发牌、重开一局等等。
教案首页
授课日期 上课地点 本次课标题:第15章 关键代码的编写 第17周 周3 授课班级 12软件外包 课 时 2 一体化教室B 教 学 能力(技能)目标 知识目标 目 一、 关键代码的编写 标 1.测试相应功能 教 学 任 务 案例:黑杰克游戏 及 案 例 重 点 重点:关键代码的编写 难 难点:测试相应功能 点 单 项目实战任务--黑杰克游戏 元 考 核 参 考 《Java语言与面向对象程序设计》 资 料 注:表格内容统一用5号宋体填写。
教学设计
教师活动 步 骤 教学内容 (方法与手段) 告知 (教学内容、 2、测试相应功能 目的) 演示 引入 1.黑杰克游戏 (任务项目) 提问 操练 (掌握初步或基本能力) 1.关键代码的编写 学生操作 集体提示 启发 个别回答 讨论 5 分钟 设问 学生活动 时间分配 1、关键代码的编写 讲授 5分钟 教师讲解 个别操作 15分钟 深化 (加深对基本能力的体会) 代码练习 教师演示 个别回答 要点提示 集体讨论 重点讲解 10分钟 归纳 (知识和能力) 训练 巩固 public class Card { 1.黑杰克游戏 拓展 } 检验 总结 测试相应功能 个别指导 启发诱导 1.测试相应功能 讲授 集体思考 5 分钟 个别回答 个人操作 难点提示 小组讨论 10分钟 教师讲授 5 分钟 作业 习题 教学内容
5 分钟 后记 //构造方法public Card() {
value = 0;//用创建一章默认纸牌 知识点:
} 1、 关键代码的编写 //构造方法创建第几张牌 public Card(int n) { 扑克类关键代码:
//代码省略
}
//返回表示纸牌面值的字符串 public String getFace() {
return faces[value % ];
}
//返回表示纸牌花色的字符串 public String getSuit() {
玩家类关键代码:
public class Player { }
荷官类关键代码 /**
* 返回这副牌剩余的张数 * @return */
int winNumber;//赢的次数 int loseNumber;//输的次数 int cash;//玩家手中的现金
//CardsInHand hand;//玩家手中的牌 /**
* 构造方法,初始化玩家信息 */
public Player() { }
winNumber = 0; loseNumber = 0;
hand = new CardsInHand(); cash = 10000;
public class CardsInHand {
Card[ ] cards = new Card[22];
/** * 玩家投注加倍 */
public void yourDouble(int money) { } /**
* 点数计算
* @param player 游戏参与者 */
public int computePoint(Player player) {} /**
* 选择pass后计算输赢 */
public void yourPass(int money) {} /**
* 再发一张 */
public void getCardAgain(int money) {}
/**
* 选择开牌后判断输赢 */
public void winOrLose(int money) {} /**
* 电脑玩家的控制 */ public int comPlayer() {
public BlackJack() {
player = new Player(); computer = new Player(); deck = new Dealer(); String str = null; input = new Scanner; while (true) {
();
println(\"***************************************************
.
\");
println(\"**
**\");
.
println(\"** 黑杰克全世界都在用它赚钱
**\");
.
println(\"**
**\");
println(\"***************************************************
.
\");
str = (); switch (str)) { case 1:
start(); break;
case 2: checkStore();
break;
case 3:
(0);// 程序结束break; default:
break;
}
、
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- huatuo6.com 版权所有 湘ICP备2023023988号-11
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务