欢迎光临
免费的PDF电子书下载网站

软件是这样“炼”成的——Java学习全演练 PDF下载

编辑推荐

本书是作者编写的“软件是这样‘炼’成的”系列中的一本,解决了读者在学习Java过程中常见的知识点零散和应用场景不清楚的状况。将Java知识点体系化和系统化,以案例驱动的编写方法实现了“边学边用,边用边做”的Java学习思路,并且可以将这些思路应用到其他计算机语言的学习过程中。 ;

内容简介

本书的定位是针对Java学习中有案例式参考资料需求的读者。全书选用易于理解的“学籍管理软件”作为案例,讲解Java的核心知识点及应用场景。从文字组织到书的结构设计,既不是以理论为主调的“学院派”编写方法,也不是以应用介绍为主调的“应用派”编写格调,而采用了情景对话、场景在线的方式,解决读者在学习Java过程中所感觉到的知识点的零散性和应用场景不清楚的状况。将Java知识点体系化和系统化,以案例驱动的编写方法实现了“边学边用,边用边做”的Java学习思路。 本书适合于从事软件开发的管理人员、系统分析师、架构师和程序员阅读,也可以作为大学计算机相关专业学习Java课程的项目实训教材。

作者简介

暂无

软件是这样“炼”成的——Java学习全演练 PDF下载

目录

目录


第1章何为面向对象

1.1面向对象的基础知识

1.2面向对象的核心概念

1.2.1对象

1.2.2类

1.2.3继承

1.2.4接口

1.2.5封装与透明

1.2.6多态

1.2.7组合

1.2.8绑定

1.2.9消息

1.3类间关系

1.3.1关联

1.3.2聚合

1.3.3继承

1.3.4实现

1.3.5依赖

1.3.6包

1.4本章小结

第2章Java是什么

2.1Java程序设计语言

2.1.1什么是程序设计语言

2.1.2程序设计语言发展历史

2.2Java发展历史

2.3Java跨平台原理

2.3.1高级程序编译原理

2.3.2Java跨平台原理

2.3.3Java的特点

2.4Java开发环境搭建

2.4.1JDK安装

2.4.2MyEclipse介绍及安装

2.5本章小结

第3章JDK API介绍

3.1关于JDK的讨论

3.2JDK基础类型介绍

3.3数据集合及日期处理

3.4输入输出流

3.5ZIP压缩工具

3.6JAR归档工具

3.7日志工具

3.8网络编程

3.8.1地址

3.8.2套接字

3.8.3接口

3.8.4高级API

3.9用户界面(Java.awt)

3.9.1Java.awt介绍

3.9.2其他包介绍

3.10Java.swing

3.11数据库操作

3.11.1Java.sql

3.11.2Javax.sql

3.12本章小结

第4章规范Java编程

4.1关于编程规范的讨论

4.2帮助文件范例

4.2.1版本信息

4.2.2字段概要

4.2.3方法及构造方法摘要

4.2.4字段详细信息

4.2.5方法或构造方法详细
信息

4.3Java编程规范

4.3.1排版规范

4.3.2注释规范

4.3.3命名规范

4.3.4编码规范

4.4JavaDoc文档

4.4.1JavaDoc介绍

4.4.2JavaDoc标记

4.4.3JavaDoc命令的用法

4.5本章小结

第5章本书唯一案例说明

5.1案例假设

5.2用户资料整理

5.3实现功能

5.3.1学校信息维护

5.3.2学院信息查询

5.3.3系信息查询

5.3.4系分专业学生名录

5.3.5系分专业综合成绩排名

5.3.6关于学生信息维护

5.4“学籍管理软件”在本书中的应用

5.5不可思议的代码

第6章Java源程序组成

6.1Java源程序包含的基本内容

6.1.1包

6.1.2类定义

6.1.3方法定义

6.1.4数据成员

6.2使用JDK编译和运行程序

6.2.1编译Java源文件

6.2.2运行Java程序

6.3代码展示——类初步规划

6.3.1案例分析

6.3.2部分代码展示

6.4代码解析

6.4.1代码分析

6.4.2进程检查

6.5本章小结

第7章探讨类数据成员——数据
类型
7.1基本数据类型

7.1.1基本概念

7.1.2详细说明

7.1.3简单数据类型的转换

7.1.4Java中的高精度数

7.2引用类型

7.3变量和常量

7.3.1变量

7.3.2常量

7.3.3变量的作用范围

7.3.4静态变量的生命周期

7.3.5对象的默认引用
——this关键字

7.4参数传递

7.5“学籍管理软件”数据类型设计

7.5.1JDK Java包引用分析

7.5.2“学籍管理软件”数据类型
与变量设计

7.6代码实现

7.6.1“学籍管理软件”中全局
变量校验实现

7.6.2部分代码摘录

7.7进程检查

7.8本章小结

第8章类方法成员——操作符

8.1运算符

8.1.1算术运算符

8.1.2关系运算符

8.1.3逻辑运算符

8.1.4位运算符

8.1.5其他运算符

8.1.6运算符的优先级

8.2Java修饰符

8.3“学籍管理软件”运算符应用
分析

8.3.1关于业务规则讨论

8.3.2部分实现代码摘录

8.4进程检查表

8.5本章小结

第9章探讨类方法成员——流程
控制
9.1流程控制

9.2条件转换语句

9.2.1if 语句

9.2.2ifelse

9.2.3ifelse if语句

9.2.4if语句的嵌套

9.2.5switch语句

9.3循环语句

9.3.1for循环语句

9.3.2while循环语句

9.3.3do while循环语句

9.3.4循环语句的嵌套

9.3.5转移语句

9.4“学籍管理软件”案例分析运行流程
控制

9.4.1“学籍管理软件”运行
流程

9.4.2类优化设计

9.5“学籍管理软件”业务数据校验
代码展示

9.6进程检查

9.7本章小结

第10章异常处理及应用

10.1Java异常处理机制

10.2用户异常定义

10.3Java异常分类

10.3.1可检测异常

10.3.2非检测异常

10.3.3自定义异常

10.4异常处理

10.4.1Java异常处理方法

10.4.2异常声明及抛出异常

10.5“学籍管理软件”异常设计

10.5.1关于异常的探讨

10.5.2“学籍管理软件”流程优化
——异常思考

10.6“学籍管理软件”异常设计实现类
代码分析

10.6.1“学籍管理软件”
类优化

10.6.2异常设计代码实现

10.7进程检查表

10.8本章小结

第11章类间关系之继承应用

11.1继承设计的基本流程

11.2方法重载

11.3方法覆盖

11.4super关键字

11.5“学籍管理软件”优化设计

11.5.1关于继承的讨论

11.5.2类间关系优化设计
——继承的思想

11.5.3程序运行流程——重载
的思想

11.5.4异常处理——继承
的思想

11.6部分程序代码——继承及重载
的思想

11.6.1父类——学校信息
维护

11.6.2子类——学院信息
维护

11.6.3父类与子类的整合——
学生信息维护页面

11.6.4重载方法——统计分析
类框架代码

11.7继承及重载优化进程检查

11.8本章小结

第12章类间关系之抽象类与
接口应用
12.1抽象类

12.2接口

12.2.1接口的概念

12.2.2接口的实现

12.3接口与抽象类

12.4多态

12.5“学籍管理软件”优化设计

12.6“学籍管理软件”接口及接口
实现代码

12.6.1业务查询接口
(bussinessSearch)

12.6.2数据删除接口
(bussinessDelete)

12.6.3统计分析类
(bussinessStatistics)

12.6.4信息查询类(bussiness
LogicListSearch)

12.7进程检查——类抽象与接口
应用

12.8本章小结

第13章Java数据结构之数组

13.1一维数组创建

13.2一维数组元素访问

13.3二维数组创建

13.4二维数组元素访问

13.5本章小结

第14章Java数据结构之常用集合

14.1Java集合概述

14.2Collection接口和Iterator接口

14.2.1AbstractCollection
抽象类

14.2.2Iterator 接口

14.2.3Collection接口支持的
其他操作

14.3Set

14.3.1HashSet类和
TreeSet类

14.3.2AbstractSet类

14.4List

14.4.1ListIterator接口

14.4.2ArrayList 类和
LinkedList类

14.5Map

14.5.1Map接口概述

14.5.2Map.Entry接口

14.5.3SortedMap接口

14.5.4AbstractMap抽象类
——Abstrac

14.5.5HashMap类和
TreeMap类

14.5.6LinkedHashMap类

14.5.7Map例程

14.6本章小结

第15章数据结构在“学籍管理软件”
中的应用
15.1关于Java集合的讨论

15.2“学籍管理软件”数据
结构设计

15.2.1数据分析

15.2.2数据结构设计

15.3类优化

15.4查询算法设计

15.5“学籍管理软件”数据结构代码
实现

15.5.1学生名单排序实体

15.5.2考试成绩排序

15.6进程检查——数据结构完善

第16章数据输入输出——Java IO流

16.1Java数据流概述和Java.IO

16.1.1流的概念

16.1.2Java.IO包

16.2InputStream与
OutputStream类

16.2.1InputStream类

16.2.2OutputStream类

16.3File类

16.3.1File类的构造函数

16.3.2File类举例

16.4文件输入与输出

16.4.1FileInputStream类和
FileOutputStream类

16.4.2FileInputStream和
FileOutputStream在“学籍
管理软件”中的应用

16.4.3随机文件的读取
RandomAccessFile类

16.5标准输入和输出

16.5.1System.in对象

16.5.2System.out对象

16.5.3数据类型的转换

16.6本章小结

第17章数据存储与读取在“学籍
管理软件”中的应用
17.1数据存储及文件规划

17.1.1数据存储说明

17.1.2数据表间关系

17.1.3表结构设计

17.2类优化设计

17.3程序流程优化

17.4数据保存及查询

17.4.1数据保存

17.4.2数据读取

17.5Java IO异常处理

17.6数据存储与读取代码实现

17.6.1文件管理

17.6.2数据保存

17.6.3多记录查询

17.7数据读取与存储实现进程检查

17.8本章小结

第18章Java图形界面在“学籍管理
软件”中的应用
18.1用AWT生成图形化用户界面

18.2组件

18.3容器

18.4事件处理

18.4.1事件类

18.4.2事件监听器

18.4.3AWT事件相应的监听器
接口

18.4.4事件适配器

18.5AWT组件库

18.6“学籍管理软件”页面设计

18.6.1页面构成

18.6.2主界面程序代码

18.6.3维护页面button影响
矩阵图

18.7案例进程

18.8本章小结

第19章Java Swing在“学籍管理
软件”中的应用
19.1Java Swing介绍

19.2Javax主要控件介绍

19.2.1AbstractButton

19.2.2ButtonGroup

19.2.3JApplet

19.2.4JButton

19.2.5JCheckBox和
JRadioButton

19.2.6JComboBox

19.2.7JScrollPane

19.2.8JTable

19.2.9JTextField

19.2.10JTextArea

19.2.11JTree

19.3基于Java Swing优化“学籍
管理软件”设计

19.3.1基于MVC设计模式设计
“学籍管理软件”

19.3.2类图优化设计——
基于MVC

19.3.3“学籍管理软件”页面
设计实现代码摘录

19.4“学籍管理软件”案例
进程检查

19.5本章小结

第20章多线程简述

20.1Java多线程

20.2Java多线程的5种基本状态

20.3Java多线程的创建及启动

20.3.1继承Thread方法创建线
程并启动线程

20.3.2使用Runnable接口来
创建并启动线程

20.3.3使用 ExecutorService、
Callable和Future创建
线程

20.4Java多线程的优先级和调度

20.5多线程的线程控制

20.6线程的同步

20.6.1同步代码块

20.6.2同步方法

20.6.3使用特殊域变量(volatile)
实现线程同步

20.6.4使用重入锁实现
线程同步

20.6.5使用局部变量实
现线程同步

20.7线程间的通信

20.7.1线程间的通信

20.7.2线程通信的其他几个
常用方法

20.8本章小结

第21章Java学习历程回顾

参考文献





前沿

前言
计算机软件工程课程是一门应用型很强的专业学科,能够很好地应用起来才是软件开发语言的重要学习目标。特别是计算机语言类课程,本来就没有什么深奥的理论基础,我们按照既定的语法规则进行编程即可。从理论的角度来说,我们似乎没有什么可发挥的了。
编者应邀承担高校计算机相关专业的Java语言授课工作,在教学中发现学生们最大的疑问点是,Java语言到底是用来干什么的?Java语言在实践项目中是如何应用的?这些知识点的应用场景是什么?Java知识点之间的关系是怎样的?算法是什么东西?为什么要有这些知识点?等等。如果这些疑问无法解决,学生们学习Java语言的兴趣自然而然地就会逐渐地减少。
“边学边用”是学习Java语言最好的办法。目前Java语言教科书非常多,但是不少作者将Java语言中的每个知识点零散地推给学生们,教材中的例子自然只是为知识点服务的,导致整本书中的例子没有连贯性,甚至同一章节中的例子都是分散的。容易导致学生只知其一不知其二,没有形成系统的知识结构,更不会把这些实践案例有效地结合起来。
本书是编者编写的“软件是这样‘炼’成的”系列书的四本之一,其最大的特点是将学院派和应用派的两大著书思想有效地结合起来,既没有空洞的理论,也没有泛泛而谈的应用,而是将理论与实践融合起来,给读者以新的感受和收获。在文字组织上,采取场景再现、情景对话等方式,将Java语言中的每个关键知识点应用到“学籍管理软件”这个案例中,这种“边学边用”的学习过程,使读者能够系统和完整地了解Java的知识结构并应用之。
历经3年之久,编者总算艰难完成了“软件是这样‘炼’成的”系列书的编写,尤其前3本书的出版得到了广大读者的殷切关注和大力支持,并且提出了许多宝贵意见,在此真心地表示感谢。希望各位继续提出宝贵的意见。
在本书的编写过程中,编者得到了家人和朋友的大力支持。在此,我要感谢我的妻子商莉和我女儿王贝思在本书的编写过程中给予的最大帮助和支持。
由于作者水平有限,书中难免有疏漏和不足之处,恳求各位专家和广大读者提出宝贵的意见。如果读者在阅读过程中遇到问题,可以直接和笔者联系。
编者2018年3月

免费在线读

第3章JDK API介绍

3.1关于JDK的讨论
晨落: 今天我们讨论Java JDK。我是1998年第一次接触Java开发工具(Java Development Kit,JDK)的,Java的一些特点吸引了我,因为Java的一大特点是平台无关性,也就是说一处编译处处运行。对于程序员来说,能够深深地体会到这个福音给我们带来的是什么,可以做到编程不考虑操作系统,太令人振奋了。Java的另外一个特点是面向对象的开发方法,当时面向对象的开发方式不是主流开发方法,所以我出于好奇开始学习了Java。
洪杨俊: 然后呢?
晨落: 当时,很少有Java方面的书籍,我好不容易找来JDK和Java的一些帮助文件以及JDK自带的Java源程序代码。我仔细阅读Java帮助文件并结合JDK源程序代码,发现有许多奥妙在里面。通过阅读帮助文件和源代码能够知道Java JDK背后的故事,在使用任何一个Java函数的时候,Java帮助我们完成了一系列的工作,让我们的编程工作量大大减少。
洪杨俊: 你是如何学习Java的?
晨落: JDK在我们安装的JDK路径下,例如,“我的电脑”是安装在“C: \Program Files\Java\jdk1.6.0_10 ”下,在该路径下有个文件SRC.ZIP,解包后将会发现文件夹的文件夹结构内容与JDK包完全一致。
洪杨俊: 这些代码和JDK类库中的实现是一致的吗?
晨落: 是完全一致,类库中的.class文件其实就是用这些源代码文件编译生成的。
洪杨俊: 在Java学习中用到的数据类型、函数、方法等都能够找到其对应Java源代码吗?
晨落: 是的,完全可以找到,例如,我们在Java中定义的数据类型Integer,就在“\src\Java\lang\Integer.Java”这个类文件中。打开类文件可以读到关于Integer的相关Java代码实现,如图31所示。

图31Integer类的Java代码

通过图31可以看出,关于Integer的Java类是如何实现的,例如,在不少教材中描述Integer数据的取值范围是-2147483648到2147483648,在源代码中可以找到相应的方法,以实现这个数据范围的校验。图32中的代码就是Integer最大值和最小值的判断处理代码片段。

图32Integer类型最大值和最小值的代码实现

洪杨俊: 这么多类库和函数,难道您全部阅读了吗?
晨落: 哈哈,不可能的事,我告诉你的意思是,我们需要了解Java的实现机制,JDK中所包含的主要类库有哪些,至少在学习Java的时候能够明确JDK类库,必要时分析源代码,理解Java中的相关类库的使用方法。
洪杨俊: 如何划分?你可以帮我列出重要的部分吗?
晨落: 我将Java基础阶段需要掌握的Java类库做了个总结,并且以树形结构的形式表现出来,如图33所示。只要我们能够按照这个树形图归纳出这些包中包含的类,知道它们能够完成哪些功能,并在开发过程中快速地查询这些函数的使用就足够了。

软件是这样“炼”成的——Java学习全演练 pdf下载声明

本pdf资料下载仅供个人学习和研究使用,不能用于商业用途,请在下载后24小时内删除。如果喜欢,请购买正版

pdf下载地址

版权归出版社和作者所有,下载链接已删除。如果喜欢,请购买正版!

链接地址:软件是这样“炼”成的——Java学习全演练