java是目前功能强大、最流行的网络编程语言之一,它完全面向对象、开发效率高、与平台无关是企业电子商务开发、信息建设、web应用程序等应用的首选技术。
本课程重点讲述java的程序设计技巧,包括java语言基础、面向对象机制、图形用户界面设计、异常处理、输入输出流编程等内容。
一、课程基本概况
课程中文名称 | java程序设计与开发技术 | |||||||
课程英文名称 | java program design and development technology | 课程编号 | 16232206x0 | |||||
课程类别 | □公共必修课 □公选课 □院级限选课 □学科基础课 √专业基础课 □专业限选课 □专业任选(拓展)课 □方向特色课(双百班课程) | |||||||
总学时 | 64 | 讲授学时 | 40 | 实验学时 | 24 | |||
总学分 | 3 | 开课学院(部) | 信息学院 | 开课系(室) | 计算机 | |||
授课对象 | 计算机科学与技术 本科 | |||||||
先修课程 | 《计算机基础》 《c语言程序设计》 | |||||||
执笔人 | 孙兵 | 审核人 | 审批人 | |||||
修订时间 | 2015-05-15 | |||||||
二、课程简介
java是目前功能强大、最流行的网络编程语言,它完全面向对象、开发效率高、与平台无关是企业电子商务开发、信息建设、web应用程序等应用的首选技术。本课程重点讲述java的程序设计技巧,包括java语言基础、面向对象机制、图形用户界面设计、异常处理、输入输出流编程等内容。
三、课程教学总体目标
本课程是以培养学生的程序设计能力为宗旨的一门课程,特别强调理论联系实际,注重教学的实践环节。本课程旨在java程序设计能力的培养,其实践性、理论性、综合性都相当强。要求学生在学完后,能够使用java进行一定的设计和开发,并掌握一定的java程序设计技术的理论知识和分析技能,并能进行网络程序的设计与开发。通过本课程的学习,培养学生对java程序设计和分析能力,为独立进行java程序设计奠定基础。
四、理论教学内容及要求
第一章 java入门
【教学目标】 了解
【学时分配】 2学时
【授课方式】 讲授教学
【授课内容】
1.1 java的地位
1.1.1 网络地位
1.1.2 语言地位
1.1.3 需求地位
1.2 java的特点
1.2.1 简单
1.2.2 面向对象
1.2.3 平台无关
1.2.4 多线程
1.2.5 安全
1.2.6 动态
1.3 安装jdk
1.3.1 三种平台简介
1.3.2 安装java se平台
1.4 java程序的开发步骤
1.5 简单的java应用程序
1.5.1 源文件的编写与保存
1.5.2 编译
1.5.3 运行
1.6 编程风格
1.6.1 allmans风格
1.6.2 kernighan风格
1.6.3 注释
1.7 java之父——james gosling
【教学重点和难点】
重点:java程序及其执行过程
难点:无
第二章基本数据类型与数组
【教学目标】 理解与掌握
【学时分配】 4学时
【授课方式】 讲授教学
【授课内容】
2.1 标识符与关键字
2.1.1 标识符
2.1.2 unicode字符集
2.1.3 关键字
2.2 基本数据类型
2.2.1 逻辑类型
2.2.2 整数类型
2.2.3 字符类型
2.2.4 浮点类型
2.3 类型转换运算
2.4 输入、输出数据
2.4.1 输入基本型数据
2.4.2 输出基本型数据
2.5 数组
2.5.1 声明数组
2.5.2 为数组分配元素
2.5.3 数组元素的使用
2.5.4 length的使用
2.5.5 数组的初始化
2.5.6 数组的引用
2.6 应用举例
【教学重点和难点】
重点:运算符
难点:数组
第三章 运算符、表达式和语句
【教学目标】 理解与掌握
【学时分配】 4学时
【授课方式】 讲授与实验教学
【授课内容】
3.1 运算符与表达式
3.1.1 算术运算符与算术表达式
3.1.2 自增,自减运算符
3.1.3 算术混合运算的精度
3.1.4 关系运算符与关系表达式
3.1.5 逻辑运算符与逻辑表达式
3.1.6 赋值运算符与赋值表达式
3.1.7 位运算符
3.1.8 instanceof运算符
3.1.9 运算符综述
3.2 语句概述
3.3 if条件分支语句
3.3.1 if语句
3.3.2 if-else语句
3.3.3 if-else if-else语句
3.4 switch开关语句
3.5 循环语句
3.5.1 for循环语句
3.5.2 while循环
3.5.3 do-while循环
3.6 break和continue语句
3.7 for语句与数组
3.8 应用举例
【教学重点和难点】
重点:运算符与表达式
难点:循环语句
第四章 类与对象
【教学目标】 理解与掌握
【学时分配】 8学时
【授课方式】 讲授与实验教学
【授课内容】
4.1 编程语言的几个发展阶段
4.1.1 面向机器语言
4.1.2 面向过程语言
4.1.3 面向对象语言
4.2 类
4.2.1 类声明
4.2.2 类体
4.2.3 成员变量
4.2.4 方法
4.2.5 需要注意的问题
4.2.6 类的uml图
4.3 构造方法与对象的创建
4.3.1 构造方法
4.3.2 创建对象
4.3.3 使用对象
4.3.4 对象的引用和实体
4.4 类与程序的基本结构
4.5 参数传值
4.5.1 传值机制
4.5.2 基本数据类型参数的传值
4.5.3 引用类型参数的传值
4.6 对象的组合
4.6.1 组合与复用
4.6.2 类的关联关系和依赖关系的uml图
4.7 实例成员与类成员
4.7.1 实例变量和类变量的声明
4.7.2 实例变量和类变量的区别
4.7.3 实例方法和类方法的定义
4.7.4 实例方法和类方法的区别
4.8 方法重载
4.8.1 方法重载的语法规则
4.8.2 避免重载出现歧义
4.9 this关键字
4.9.1 在构造方法中使用this
4.9.2 在实例方法中使用this
4.10 包
4.10.1 包语句
4.10.2 有包名的类的存储目录
4.10.3 运行有包名的主类
4.11 import语句
4.11.1 引入类库中的类
4.11.2 引入自定义包中的类
4.12 访问权限
4.12.1 何谓访问权限
4.12.2 私有变量和私有方法
4.12.3 共有变量和共有方法
4.12.4 友好变量和友好方法
4.12.5 受保护的成员变量和方法
4.12.6 public类与友好类
4.13 基本类型的类封装
4.13.1 double和float类
4.13.2 byte、short、integer、long类
4.13.3 character类
4.14 对象数组
4.15 反编译和文档生成器
4.16 jar文件
4.17 应用举例
【教学重点和难点】
重点:类、域和方法的定义,引用数据类型、实例生成和几类特殊的方法
难点:变量作用域与参数传递
第五章 子类与继承
【教学目标】 理解与掌握
【学时分配】 4学时
【授课方式】 讲授与实验教学
【授课内容】
5.1 子类与父类
5.1.1 声明子类
5.1.2 类的树形结构
5.2 子类的继承性
5.2.1 子类和父类在同一包中的继承性
5.2.2 子类和父类不在同一包中的继承性
5.2.3 继承关系(generalization)的uml图
5.2.4 protected的进一步说明
5.3 子类与对象
5.3.1 子类对象的特点
5.3.2 关于instanceof运算符
5.4 成员变量的隐藏和方法重写
5.4.1 成员变量的隐藏
5.4.2 方法重写(override)
5.5 super关键字
5.5.1 用super操作被隐藏的成员变量和方法
5.5.2 使用super调用父类的构造方法
5.6 final关键字
5.6.1 final类
5.6.2 final方法
5.6.3 常量
5.7 对象的上转型对象
5.8 继承与多态
5.9 abstract类和abstract方法
5.10 面向抽象编程
5.11 开—闭原则
5.12 应用举例
【教学重点和难点】
重点:继承
难点: 抽象类
第六章 接口与实现
【教学目标】 理解与掌握
【学时分配】 4学时
【授课方式】 讲授与实验教学
【授课内容】
6.1 接口
6.2 实现接口
6.3 理解接口
6.4 接口的uml图
6.5 接口回调
6.6 接口与多态
6.7 接口参数
6.8 abstract类与接口的比较
6.9 面向接口编程
6.10 应用举例
【教学重点和难点】
重点:接口
难点:面向接口编程
第七章 内部类与异常类
【教学目标】 理解与掌握
【学时分配】 2学时
【授课方式】 讲授与实验教学
【授课内容】
7.1 内部类
7.2 匿名类
7.2.1 和子类有关的匿名类
7.2.2 和接口有关的匿名类
7.3 异常类
7.3.1 try-catch语句
7.3.2 自定义异常类
7.4 断言
7.5 应用举例
【教学重点和难点】
重点:内部类
难点:匿名类
第八章 常用实用类
【教学目标】 理解与掌握
【学时分配】 4学时
【授课方式】 讲授与实验教学
【授课内容】
8.1 string类
8.1.1 构造字符串对象
8.1.2 string类的常用方法
8.1.3 字符串与基本数据的相互转化
8.1.4 对象的字符串表示
8.1.5 字符串与字符、字节数组
8.1.6 正则表达式及字符串的替换与分解
8.2 stringtokenizer类
8.3 scanner类
8.4 date与calendar类
8.4.1 date类
8.4.2 calendar类
8.5 日期的格式化
8.5.1 format方法
8.5.2 不同区域的星期格式
8.6 math、biginteger和random类
8.6.1 math类
8.6.2 biginteger类
8.6.3 random类
8.7 数字格式化
8.7.1 formatter类
8.7.2 格式化整数
8.7.3 格式化浮点数
8.8 stringbuffer类
8.8.1 stringbuffer对象的创建
8.8.2 stringbuffer类的常用方法
8.9 pattern与matcher类
8.10 class类
8.10.1 使用class实例化一个对象
8.10.2 获取类的有关信息
8.11 应用举例
【教学重点和难点】
重点:string类
难点:正则表达式
第九章组件及事件处理
【教学目标】 理解与掌握
【学时分配】 6学时
【授课方式】 讲授与实验教学
【授课内容】
9.1 java swing概述
9.2 窗口
9.2.1 jframe常用方法
9.2.2 菜单条、菜单、菜单项
9.3 常用组件与布局
9.3.1 常用组件
9.3.2 常用容器
9.3.3 常用布局
9.4 处理事件
9.4.1 事件处理模式
9.4.2 actionevent事件
9.4.3 itemevent事件
9.4.4 documentevent事件
9.4.5 mouseevent事件
9.4.6 焦点事件
9.4.7 键盘事件
9.4.8 窗口事件
9.4.9 匿名类实例或窗口做监视器
9.4.10 事件总结
9.5 使用mvc结构
9.6 对话框
9.6.1 消息对话框
9.6.2 输入对话框
9.6.3 确认对话框
9.6.4 颜色对话框
9.6.5 自定义对话框
9.7 树组件与表格组件
9.7.1 树组件
9.7.2 表格组件
9.8 按钮绑定到键盘
9.9 打印组件
9.10 发布gui程序
9.11 应用举例
【教学重点和难点】
重点:布局管理器,组件和容器
难点:事件处理
第十章 输入、输出流
【教学目标】 理解与掌握
【学时分配】 2学时
【授课方式】 讲授与实验教学
【授课内容】
10.1 file类
10.1.1 文件的属性
10.1.2 目录
10.1.3 文件的创建与删除
10.1.4 运行可执行文件
10.2 文件字节输入流
10.3 文件字节输出流
10.4 文件字符输入、输出流
10.5 缓冲流
10.6 随机流
10.7 数组流
10.8 数据流
10.9 对象流
10.10 序列化与对象克隆
10.11 使用scanner解析文件
10.12 文件对话框
10.13 带进度条的输入流
10.14 文件锁
10.15 应用举例
【教学重点和难点】
1.重点:文件字节流
2.难点:数据流
五、实验教学及要求
1.实验教学内容及安排
序号 | 实验项目名称 | 内容提要 | 实验要求 | 实验类型 | 实验教学组织形式 | 学时分配 |
1 | 熟悉java编程开发环境 | 熟悉jdk环境,掌握如何编辑、运行一个java程序。 | 必做 | 验证性 | 独立 | 2 |
2 | java基本数据类型与数组 | 编写程序使用 java的基本数据类型和数组。 | 必做 | 验证性 | 独立 | 2 |
3 | java的分支与循环语句 | 编写程序使用 java的分支与循环语句 | 必做 | 验证性 | 独立 | 2 |
4 | java的类与对象 | 类的定义、成员变量的使用、静态成员的创建 | 必做 | 验证性 | 独立 | 4 |
5 | java的子类与继承 | 子类的继承性、 使用重写、super关键字的使用 | 必做 | 验证性 | 独立 | 4 |
6 | java的接口与实现 | 接口的实现;接口回调的使用、面向接口编程模式的使用 | 必做 | 验证性 | 独立 | 2 |
7 | java的内部类与异常类 | 编写程序使用java的内部类和异常类 | 必做 | 验证性 | 独立 | 2 |
8 | java的常用实用类 | 编写程序使用java的string类、pattern类和match类 | 必做 | 验证性 | 独立 | 2 |
8 | java的组件及事件处理 | 创建一个实现侦听类实现侦听接口。写出相应的事件处理程序,创建监听程序对象,注册监听程序对象。 | 必做 | 设计性 | 独立 | 4 |
2.实验报告撰写要求
需写上机结果或截图
关键代码要注释
六、课程考核及成绩评定要求
1、考核方式:笔试(闭卷)
2、成绩评定方式:平时成绩 30% 期末成绩 70%。
七、教材与参考资料
本课程选用教材:
理论教材:《java 2实用教程》(第4版)作者:耿祥义、张跃平,清华大学出版社,2012年8月出版。
实验教材:《java 2 实用教程(第4版)实验指导与习题解答》作者:张跃平、耿祥义,清华大学出版社,2012年8月出版。
本课程推荐参考书:
《java2 核心技术》卷i:基础知识(第8版).(美)cay s.horstmann,gary cornell主编.机械工业出版社,2008年6月出版。