前言
本书不是一本简单的Java入门教材,不是知识点的铺陈,而是致力于将知识点融入实际项目的开发中。编写Java技术的入门教材,最困难的事情是将一些复杂、难以理解的编程思想让初学者能够轻松理解并快速掌握。本书对每个知识点都进行了深入分析,针对知识点在语法、示例、代码及任务实现上进行阶梯式层层强化,让读者对知识点从入门到灵活运用一步一步脚踏实地进行。
本书的特色是采用一个“QDMS数据挖掘”项目,将所有章节重点技术进行贯穿,每章项目代码层层迭代、不断完善,最终形成一个完整的系统。通过贯穿项目以点连线,多线成面,使得读者能够快速理解并掌握各项重点知识,全面提高分析问题、解决问题以及动手编程的能力。
1. 项目简介
QDMS数据挖掘项目是一个基于C/S(Client/Server,客户/服务器)架构的系统,由QDMS客户端和QDMS服务器端两部分组成:
QDMS客户端作为系统的一部分,其主要任务是对数据进行采集、分析和匹配,并将匹配成功的数据发送到QDMS服务器端,同时将匹配成功和未成功的数据分别保存到不同的日志文件中。
QDMS服务器端用于接收QDMS客户端发送来的数据,并将数据保存到数据库中,同时将数据归档到文本文件中。QDMS服务器端对接收的数据提供监控和查询功能。
QDMS数据挖掘项目可以对多种数据类型进行采集,例如日志数据信息的采集、物流数据信息的采集等,多种数据信息都是基于继承关系的。
2. 贯穿项目模块
QDMS贯穿项目中所有模块的实现都穿插在本书和《Java 8高级应用与开发》的所有章节中,每个章节在前一章节的基础上进行任务实现,对项目逐步进行迭代、升级,最终形成一个完整的项目,并将Java课程重点技能点进行强化应用。其中,本书基于DOS菜单驱动模式完成数据采集、数据匹配以及数据显示功能模块的实现,《Java 8高级应用与开发》基于Swing GUI图形界面用户事件交互模式完成所有剩余模块。
除此之外,我们还提供与本书配套的实验手册,供学生实验课使用,便于学生对知识的应用进行巩固和升级。实验手册中的贯穿项目与教材中的贯穿项目是并行的,两个项目模块之间是对应一致的,如下图所示。
3. 基础章节任务实现
章目标贯穿任务实现
第1章
Java概述项目搭建【任务11】 创建QDMS项目,搭建项目目录层次
第2章
Java语言基础菜单驱动【任务21】 使用循环语句实现菜单驱动,当用户选择0时退出应用
【任务22】 使用数组存储采集的整数数据
【任务23】 显示采集的数据,要求每行显示5个
第3章
面向对象基础日志数据信息采集【任务31】 实现日志实体类,日志信息用于记录用户登录及登出状态
【任务32】 创建日志业务类,实现日志数据的信息采集及显示功能
【任务33】 创建一个日志测试类,演示日志数据的信息采集及显示
续表
章目标贯穿任务实现
第4章
核心类物流数据信息采集【任务41】 编写物流信息实体类
【任务42】 创建物流业务类,实现物流数据的信息采集及显示功能
【任务43】 创建一个物流测试类,演示物流数据的信息采集及显示
第5章
类之间的关系使用继承重构数据采集业务【任务51】 编写基础信息实体类
【任务52】 使用继承重构日志、物流实体类,并测试运行
【任务53】 编写日志数据匹配类,对日志实体类数据进行匹配
【任务54】 编写物流数据匹配类,对物流实体类数据进行匹配
第6章
抽象类和接口使用接口和抽象类实现数据分析和过滤【任务61】 创建数据分析接口
【任务62】 创建数据过滤抽象类
【任务63】 编写日志数据分析类和物流数据分析类
【任务64】 编译一个测试类测试日志、物流数据的分析
第7章
异常增加异常处理【任务71】 菜单驱动增加异常处理,以防用户输入不合法的菜单
【任务72】 日志和物流数据采集增加异常处理,以防用户输入不合法的数据
【任务73】 自定义数据分析异常类,数据分析处理过程中抛出自定义异常
第8章
泛型与集合使用泛型集合对数据采集、过滤分析以及输出功能进行迭代升级【任务81】 使用泛型集合迭代升级数据分析接口和数据过滤抽象类
【任务82】 使用泛型集合迭代升级日志数据分析类
【任务83】 使用泛型集合迭代升级物流数据分析类
【任务84】 在日志和物流业务类中增加显示泛型集合数据的功能
【任务85】 使用泛型集合迭代升级主菜单驱动并运行测试
本书由吉首大学的周清平负责全书统稿,钟键、黄云、覃遵跃参与编写,QST青软实训教育研究院的老师参与本书部分章节和部分项目案例的编写和审核工作。作者均已从事计算机教学和项目开发多年,拥有丰富的教学和实践经验。由于作者水平和时间有限,书中疏漏和不足之处在所难免,恳请广大读者及专家不吝赐教。
本书相关资源的获取方式请参阅序言。
编者
2018年1月