Java语言是当今流行的面向对象编程语言之一,它以其健壮性、安全性、可移植性等优点成了程序员的技术。本书以典型项目讲述了面向对象程序设计的相关概念和使用方法。通过本书的学习,学生不仅能够学习到基本的面向对象程序设计技术,还能够掌握用Java语言开发软件项目的方法。 本书以学生课程考试系统项目为开发主线,分解为11个项目,贯穿全书。本书介绍了Java基础的开发技术和理论,将知识点与开发实践紧密结合。本书内容包括Java语言基础知识、类与对象的基本概念、面向对象的三大特征、接口与抽象类、输入/输出流、图形用户界面设计、多线程、数据库等知识点的介绍。读者通过阅读本书,可以全面掌握Java的初级开发技术。 本书可以作为高职高专院校软件技术专业、网络技术专业以及其他相关专业的教材或参考书,也适合软件开发人员及其他有关人员作为自学参考书或培训教材。
初版在2015年出版,已经重印6次。由于以下原因再版:
① 多次重印,得到了兄弟院校教师的认可,但尚有不足。
② 在教材展现形式上,增加微课。
③ 继续坚持教学做一体化方式进行教材设计。
④ 版本升级非常必要。
⑤ 将教材做成课程的整体解决方案了。
⑥ 增加电子活页内容。
Java是Sun公司推出的跨平台程序开发语言,它具有简单、面向对象、分布式、健壮性、安全性、可移植性等特点,这使它在网络开发、网络应用中发挥着重要作用,并伴随因特网的广泛应用而得以迅速发展。
本书以培养读者应用能力为主线,严格按照教育部关于加强职业教育、突出实践技能培养的要求,依照Java程序设计学习应用的基本过程和规律,将以项目开发为主线,任务驱动的写法贯穿全书,将Java开发的技术知识融入各个工作任务中,突出了实践与理论紧密结合的特点。随着项目开发任务的层层递进,再现了软件开发的工作过程,同时也体现了从普通程序员到Web程序员的职业能力的提升。
本书以学生课程考试系统项目为主线,全书共分为11个项目、两大篇章。篇为项目开发前期准备,包括项目1~项目4,项目1介绍了Java开发环境的下载安装;项目2介绍了Java的基本特性及基本语法,包括Java语言概述、数据类型、运算符与表达式、流程控制语句及数组的使用;项目3、项目4分别介绍了Java面向对象技术及异常类处理机制。第二篇为开发课程考试系统,包括项目5~项目11,通过一个完整的学生在线系统的开发系统介绍了图形用户界面设计中的事件、组件、布局、文件输入/输出以及线程等知识点,并介绍了用数据库存储数据的相关知识。在每个任务中,都是首先介绍学习目标,然后通过任务描述使读者在明确工作任务之后去学习相关知识。在自测题中,读者可以完成对本章介绍的技术要点的测试。
通过本书的学习,读者不仅可以全面掌握Java的开发知识,而且更能体会到应用Java开发项目的基本思路及全局观念。
本书由郑定超、汤春华、杨云担任主编,余建浙、蒋君、高伟聪担任副主编,王瑞、郑泽也参加了部分章节的编写。另外,感谢浪潮集团提供的案例和帮助。
由于编者水平有限,错误之处也在所难免,敬请广大读者指正,欢迎提出宝贵意见。
编者2021年3月
篇项目开发前期准备
项目1开发课程考试系统的准备31.1相关知识3
1.1.1Java语言的发展历史4
1.1.2Java语言的特点5
1.1.3Java工作机制6
1.1.4Eclipse集成开发环境7
1.2项目设计与分析8
1.3项目实施9
任务11JDK的安装9
任务12Java环境变量配置11
任务13Eclipse集成工具安装14
任务14编写个Java程序18
自测题22
项目2处理课程考试系统中的学生成绩23
2.1相关知识23
2.1.1Java注释23
2.1.2标识符与关键字24
2.1.3变量与常量25
2.1.4数据类型与转换26
2.1.5运算符与表达式29
2.1.6选择结构语句32
2.1.7循环结构语句36
2.1.8跳转语句39
2.1.9数组41
Java程序设计项目开发教程(第2版)目录2.1.10方法与重载46
2.2项目设计与分析48
2.3项目实施49
任务21利用数组和选择结构语句实现成绩分数与评价的转换49
任务22利用数组和循环结构语句实现分数的排序50
自测题51
项目3定义使用课程考试系统中相关的类52
3.1相关知识52
3.1.1面向对象编程的思想52
3.1.2类与对象的创建和使用53
3.1.3类的封装58
3.1.4类的继承63
3.1.5类的多态66
3.1.6抽象类与接口68
3.2项目设计与分析70
3.3项目实施71
任务31学生类的定义71
任务32问题类的定义72
自测题73
项目4捕获课程考试系统中的异常75
4.1相关知识75
4.1.1什么是异常76
4.1.2异常的捕获和处理78
4.1.3异常的抛出与声明80
4.1.4自定义异常81
4.2项目设计与分析83
4.3项目实施83
任务41自定义考试系统中学生年龄异常的处理83
任务42捕获考试系统中计算平均分的算术异常85
自测题85
第二篇开发课程考试系统
项目5设计课程考试系统的用户登录界面915.1相关知识91
5.1.1Swing概述91
5.1.2Swing容器92
5.1.3常用组件100
5.1.4布局管理器108
5.2项目分析与设计114
5.3项目实施115
任务51设计计算器115
任务52设计登录页面115
自测题117
项目6处理课程考试系统中的用户登录事件118
6.1相关知识118
6.1.1Java事件处理机制118
6.1.2动作事件120
6.1.3键盘事件122
6.1.4鼠标事件124
6.1.5窗口事件130
6.2项目分析与设计132
6.3项目实施132
任务61登录功能实现132
任务62注册功能实现133
任务63取消功能实现133
自测题135
项目7实现课程考试系统中的用户注册功能137
7.1相关知识137
7.1.1单选按钮和复选框137
7.1.2下拉框和列表框141
7.1.3盒式布局管理器146
7.2项目分析与设计147
7.3项目实施148
任务71编写注册页面148
任务72实现页面监听事件151
自测题153
项目8读/写考试系统中的文件154
8.1相关知识154
8.1.1输入/输出流概述154
8.1.2字符流和字节流157
8.1.3过滤流和数据流162
8.1.4标准输入/输出流166
8.1.5对象序列化168
8.2项目分析与设计170
8.3项目实施170
任务81读取注册文件170
任务82页面控件监听172
自测题181
项目9实现课程考试系统的倒计时功能183
9.1相关知识183
9.1.1线程概述183
9.1.2线程的创建与使用184
9.1.3线程生命周期188
9.1.4线程优先级与调度189
9.1.5线程同步192
9.2项目分析与设计195
9.3项目实施196
任务91倒计时页面编写196
任务92计时线程编写197
自测题198
项目10实现课程考试系统界面201
10.1相关知识201
10.1.1菜单类控件201
10.1.2工具栏207
10.1.3滚动面板210
10.2项目分析与设计211
10.3项目实施213
自测题224
项目11安装并使用课程考试系统的数据库226
11.1相关知识226
11.1.1MySQL数据库概述226
11.1.2数据库的安装与配置227
11.1.3创建课程考试系统数据库236
11.1.4数据的插入、删除、修改和查询238
11.1.5Java连接数据库249
11.1.6Java操作数据254
11.2项目分析与设计260
11.3项目实施261
任务111连接数据库,验证用户名和密码261
任务112修改用户注册功能的 register()方法261
自测题263
参考文献265