标题：Java从入门到精通（第2版）
图书信息
Java从入门到精通（第2版）
出版社：清华大学出版社
ISBN：9787302227465
出版时间：2010-07-01
作者：李钟蔚、周小彤、陈丹丹
定价：59.8元RMB  
内容简介
本书从初学者角度出发，通过通俗易懂的语言、丰富多彩的实例，详细介绍了使用Java语言进行程序开发应该掌握的各方面技术。全书共分28章，包括：初识Java，熟悉Eclipse开发工具，Java 语言基础，流程控制，字符串，数组，类和对象，包装类，数字处理类，接口、继承与多态，类的高级特性，异常处理，Swing程序设计，集合类，I/O输入输出，反射，枚举类型与泛型，多线程，网络通信，数据库操作，Swing表格组件，Swing树组件，Swing其他高级组件，高级布局管理器，高级事件处理，AWT绘图与音频播放，打印技术和企业进销存管理系统等。所有知识都结合具体实例进行介绍，涉及的程序代码给出了详细的注释，可以使读者轻松领会Java程序开发的精髓，快速提高开发技能。
本书所配DVD光盘含有全程语音视频讲解教学录像以及实例的全部源代码，这些源代码都经过精心调试，在Windows XP、Windows 2000、Windows 2003下全部通过。
本书内容详尽，实例丰富，非常适合作为编程初学者的学习用书，也适合作为开发人员的查阅、参考资料。
图书目录
第1篇  基础知识
第1章  初识Java
教学录像：35分钟
1.1  Java简介
1.1.1  什么是Java语言
1.1.2  Java的应用领域
1.1.3  Java的版本
1.1.4  怎样学好Java
1.1.5  Java API文档
1.2  Java特性
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.2.10  动态
1.3  搭建Java环境
1.3.1  JDK下载
1.3.2  Windows系统的JDK环境
1.3.3  Linux系统的JDK环境
1.4  第一个Java程序
1.5  小结
1.6  实践与练习
第2章  熟悉Eclipse开发工具
教学录像：36分钟
2.1  熟悉Eclipse
2.1.1  Eclipse简介
2.1.2  Eclipse的安装、配置与启动
2.1.3  Eclipse工作台
2.1.4  透视图与视图
2.1.5  菜单栏
2.1.6  工具栏
2.1.7  “包资源管理器”视图
2.1.8  “控制台”视图
2.2  使用Eclipse
2.2.1  创建Java项目
2.2.2  创建Java类文件
2.2.3  使用编辑器编写程序代码
2.2.4  运行Java程序
2.3  程序调试
2.4  小结
2.5  实践与练习
第3章  Java语言基础
教学录像：38分钟
3.1  Java主类结构
3.1.1  包声明
3.1.2  声明成员变量和局部变量
3.1.3  编写主方法
3.1.4  导入API类库
3.2  基本数据类型
3.2.1  整数类型
3.2.2  浮点类型
3.2.3  字符类型
3.2.4  布尔类型
3.3  变量与常量
3.3.1  标识符和关键字
3.3.2  声明变量
3.3.3  声明常量
3.3.4  变量的有效范围
3.4  运算符
3.4.1  赋值运算符
3.4.2  算术运算符
3.4.3  自增和自减运算符
3.4.4  比较运算符
3.4.5  逻辑运算符
3.4.6  位运算符
3.4.7  三元运算符
3.4.8  运算符优先级
3.5  数据类型转换
3.5.1  隐式类型转换
3.5.2  显式类型转换
3.6  代码注释与编码规范
3.6.1  代码注释
3.6.2  编码规范
3.7  小结
3.8  实践与练习
第4章  流程控制
教学录像：26分钟
4.1  复合语句
4.2  条件语句
4.2.1  if条件语句
4.2.2  switch多分支语句
4.3  循环语句
4.3.1  while循环语句
4.3.2  do…while循环语句
4.3.3  for循环语句
4.4  小结
4.5  实践与练习
第5章  字符串
教学录像：33分钟
5.1  String类
5.1.1  声明字符串
5.1.2  创建字符串
5.2  连接字符串
5.2.1  连接多个字符串
5.2.2  连接其他数据类型
5.3  获取字符串信息
5.3.1  获取字符串长度
5.3.2  字符串查找
5.3.3  获取指定索引位置的字符
5.4  字符串操作
5.4.1  获取子字符串
5.4.2  去除空格
5.4.3  字符串替换
5.4.4  判断字符串的开始与结尾
5.4.5  判断字符串是否相等
5.4.6  按字典顺序比较两个字符串
5.4.7  字母大小写转换
5.4.8  字符串分割
5.5  格式化字符串
5.5.1  日期和时间字符串格式化
5.5.2  常规类型格式化
5.6  使用正则表达式
5.7  字符串生成器
5.8  小结
5.9  实践与练习
第6章  数组
教学录像：30分钟
6.1  数组概述
6.2  一维数组的创建及使用
6.2.1  创建一维数组
6.2.2  初始化一维数组
6.2.3  使用一维数组
6.3  二维数组的创建及使用
6.3.1  二维数组的创建
6.3.2  二维数组初始化
6.3.3  使用二维数组
6.4  数组的基本操作
6.4.1  遍历数组
6.4.2  填充替换数组元素
6.4.3  对数组进行排序
6.4.4  复制数组
6.4.5  数组查询
6.5  小结
6.6  使用实践
第7章  类和对象
教学录像：47分钟
7.1  面向对象概述
7.1.1  对象
7.1.2  类
7.1.3  封装
7.1.4  继承
7.1.5  多态
7.2  类
7.2.1  成员变量
7.2.2  成员方法
7.2.3  权限修饰符
7.2.4  局部变量
7.2.5  局部变量的有效范围
7.2.6  this关键字
7.3  类的构造方法
7.4  静态变量、常量和方法
7.5  类的主方法
7.6  对象
7.6.1  对象的创建
7.6.2  访问对象的属性和行为
7.6.3  对象的引用
7.6.4  对象的比较
7.6.5  对象的销毁
7.7  小结
7.8  实践与练习
第8章  包装类
教学录像：21分钟
8.1  Integer
8.2  Long
8.3  Short
8.4  Boolean
8.5  Byte
8.6  Character
8.7  Double
8.8  Float
8.9  Number
8.10  小结
8.11  实践与练习
第9章  数字处理类
教学录像：20分钟
9.1  数字格式
9.2  数学运算
9.2.1  Math类
9.2.2  常用数学运算方法
9.3  随机数
9.3.1  Math.random()方法
9.3.2  Random类
9.4  大数字
9.4.1  BigInteger
9.4.2  BigDecimal
9.5  小结
9.6  实践与练习
第2篇  核心技术
第10章  接口、继承与多态
教学录像：36分钟
10.1  类的继承
10.2  Object类
10.3  对象类型的转换
10.3.1  向上转型
10.3.2  向下转型
10.4  instanceof判断对象类型
10.5  方法的重载
10.6  多态
10.7  抽象类与接口
10.7.1  抽象类
10.7.2  接口
10.8  小结
10.9  实践与练习
第11章  类的高级特性
教学录像：29分钟
11.1  包
11.1.1  类名冲突
11.1.2  完整的类路径
11.1.3  创建包
11.1.4  导入类包
11.2  final变量
11.3  final方法
11.4  final类
11.5  内部类
11.5.1  成员内部类
11.5.2  局部内部类
11.5.3  匿名类
11.5.4  静态内部类
11.5.5  内部类的继承
11.6  小结
11.7  实践与练习
第12章  异常处理
教学录像：25分钟
12.1  异常概述
12.2  处理程序异常错误
12.2.1  错误
12.2.2  捕捉异常
12.3  Java常见异常
12.4  自定义异常
12.5  在方法中抛出异常
12.5.1  使用throws关键字抛出异常
12.5.2  使用throw关键字抛出异常
12.6  运行时异常
12.7  异常的使用原则
12.8  小结
12.9  实践与练习
第13章  Swing程序设计
教学录像：1小时1分钟
13.1  Swing概述
13.1.1  Swing特点
13.1.2  Swing包
13.1.3  常用Swing组件概述
13.2  常用窗体
13.2.1  JFrame窗体
13.2.2  JDialog窗体
13.3  标签组件与图标
13.3.1  标签的使用
13.3.2  图标的使用
13.4  常用布局管理器
13.4.1  绝对布局
13.4.2  流（FlowLayout）布局管理器
13.4.3  边界（BorderLayout）布局管理器
13.4.4  网格（GridLayout）布局管理器
13.5  常用面板
13.5.1  JPanel面板
13.5.2  JScrollPane面板
13.6  按钮组件
13.6.1  提交按钮（JButton）组件
13.6.2  单选按钮（JRadioButton）组件
13.6.3  复选框（JCheckBox）组件
13.7  列表组件
13.7.1  下拉列表框（JComboBox）组件
13.7.2  列表框（JList）组件
13.8  文本组件
13.8.1  文本框（JTextField）组件
13.8.2  密码框（JPasswordField）组件
13.8.3  文本域（JTextArea）组件
13.9  常用事件监听器
13.9.1  监听事件简介
13.9.2  动作事件（ActionEvent）监听器
13.9.3  焦点事件（FocusEvent）监听器
13.10  小结
13.11  实践与练习
第14章  集合类
教学录像：26分钟
14.1  集合类概述
14.2  Collection接口
14.3  List集合
14.3.1  List接口
14.3.2  List接口的实现类
14.4  Set集合
14.5  Map集合
14.5.1  Map接口
14.5.2  Map接口的实现类
14.6  小结
14.7  实践与练习
第15章  I/O输入输出
教学录像：35分钟
15.1  流概述
15.2  输入输出流
15.2.1  输入流
15.2.2  输出流
15.3  File类
15.3.1  文件的创建与删除
15.3.2  获取文件信息
15.4  文件输入输出流
15.4.1  FileInputStream与FileOutputStream类
15.4.2  FileReader类和FileWriter类
15.5  带缓存的输入输出流
15.5.1  BufferedInputStream与BufferedOutput-Stream类
15.5.2  BufferedReader与BufferedWriter类
15.6  数据输入输出流
15.7  ZIP压缩输入输出流
15.7.1  压缩文件
15.7.2  解压缩ZIP文件
15.8  小结
15.9  实践与练习
第16章  反射
教学录像：47分钟
16.1  Class类与Java反射
16.1.1  访问构造方法
16.1.2  访问成员变量
16.1.3  访问方法
16.2  使用Annotation功能
16.2.1  定义Annotation类型
16.2.2  访问Annotation信息
16.3  小结
16.4  实践与练习
第17章  枚举类型与泛型
教学录像：22分钟
17.1  枚举类型
17.1.1  使用枚举类型设置常量
17.1.2  深入了解枚举类型
17.1.3  使用枚举类型的优势
17.2  泛型
17.2.1  回顾“向上转型”与“向下转型”
17.2.2  定义泛型类
17.2.3  泛型的常规用法
17.2.4  泛型的高级用法
17.2.5  泛型总结
17.3  小结
17.4  实践与练习
第18章  多线程
教学录像：24分钟
18.1  线程简介
18.2  实现线程的两种方式
18.2.1  继承Thread类
18.2.2  实现Runnable接口
18.3  线程的生命周期
18.4  操作线程的方法
18.4.1  线程的休眠
18.4.2  线程的加入
18.4.3  线程的中断
18.4.4  线程的礼让
18.5  线程的优先级
18.6  线程同步
18.6.1  线程安全
18.6.2  线程同步机制
18.7  线程间的通信
18.8  小结
18.9  实践与练习
第19章  网络通信
教学录像：25分钟
19.1  网络程序设计基础
19.1.1  局域网与因特网
19.1.2  网络协议
19.1.3  端口和套接字
19.2  TCP程序设计基础
19.2.1  InetAddress类
19.2.2  ServerSocket类
19.2.3  TCP网络程序
19.3  UDP程序设计基础
19.3.1  DatagramPacket类
19.3.2  DatagramSocket类
19.3.3  UDP网络程序
19.4  小结
19.5  实践与练习
第20章  数据库操作
教学录像：33分钟
20.1  数据库基础知识
20.1.1  什么是数据库
20.1.2  数据库的种类及功能
20.1.3  SQL语言
20.2  JDBC概述
20.2.1  JDBC-ODBC桥
20.2.2  JDBC技术
20.2.3  JDBC驱动程序的类型
20.3  JDBC中常用的类和接口
20.3.1  Connection接口
20.3.2  Statement接口
20.3.3  PreparedStatement接口
20.3.4  DriverManager类
20.3.5  ResultSet接口
20.4  数据库操作
20.4.1  连接数据库
20.4.2  向数据库发送SQL语句
20.4.3  处理查询结果集
20.4.4  顺序查询
20.4.5  模糊查询
20.4.6  预处理语句
20.4.7  添加、修改、删除记录
20.5  小结
20.6  实践与练习
第3篇  高级应用
第21章  Swing表格组件
教学录像：58分钟
21.1  利用JTable类直接创建表格
21.1.1  创建表格
21.1.2  定制表格
21.1.3  操纵表格
21.2  表格模型与表格
21.2.1  利用表格模型创建表格
21.2.2  维护表格模型
21.3  提供行标题栏的表格
21.4  小结
21.5  实践与练习
第22章  Swing树组件
教学录像：1小时3分钟
22.1  简单的树
22.2  处理选中节点事件
22.3  遍历树节点
22.4  定制树
22.5  维护树模型
22.6  处理展开节点事件
22.7  小结
22.8  实践与练习
第23章  Swing其他高级组件
教学录像：1小时30分钟
23.1  高级组件面板
23.1.1  分割面板
23.1.2  选项卡面板
23.1.3  桌面面板和内部窗体
23.2  菜单
23.2.1  创建菜单栏
23.2.2  创建弹出式菜单
23.2.3  定制个性化菜单
23.3  工具栏
23.4  文件选择器
23.4.1  文件选择对话框
23.4.2  使用文件过滤器
23.5  进度条
23.6  系统托盘
23.7  桌面集成控件
23.8  小结
23.9  实践与练习
第24章  高级布局管理器
教学录像：1小时40分钟
24.1  箱式（BoxLayout）布局管理器
24.2  卡片（CardLayout）布局管理器
24.3  网格组（GridBagLayout）布局管理器
24.4  弹簧（SpringLayout）布局管理器
24.4.1  使用弹簧布局管理器
24.4.2  使用弹簧和支柱
24.4.3  利用弹簧控制组件大小
24.5  小结
24.6  实践与练习
第25章  高级事件处理
教学录像：31分钟
25.1  键盘事件（KeyEvent）
25.2  鼠标事件（MouseEvent）
25.3  窗体事件（WindowEvent）
25.3.1  捕获窗体焦点变化事件
25.3.2  捕获窗体状态变化事件
25.3.3  捕获其他窗体事件
25.4  选项事件（ItemEvent）
25.5  表格模型事件（TableModelEvent）
25.6  小结
25.7  实践与练习
第26章  AWT绘图与音频播放
教学录像：30分钟
26.1  Java绘图
26.1.1  Graphics
26.1.2  Graphics2D
26.2  绘制图形
26.3  绘图颜色与笔画属性
26.3.1  设置颜色
26.3.2  笔画属性
26.4  绘制文本
26.4.1  设置字体
26.4.2  显示文字
26.5  绘制图片
26.6  图像处理
26.6.1  放大与缩小
26.6.2  图像翻转
26.6.3  图像旋转
26.6.4  图像倾斜
26.7  播放音频文件
26.8  小结
26.9  实践与练习
第27章  打印技术
教学录像：30分钟
27.1  打印控制类
27.2  “打印”对话框
27.3  打印页面
27.4  多页打印
27.5  打印预览
27.6  小结
27.7  实践与练习
第4篇  项目实战
第28章  企业进销存管理系统
教学录像：1小时30分钟
28.1  系统分析
28.1.1  需求分析
28.1.2  可行性分析
28.1.3  编写项目计划书
28.2  系统设计
28.2.1  系统目标
28.2.2  系统功能结构
28.2.3  系统业务流程图
28.2.4  系统编码规范
28.3  开发环境
28.3.1  硬件开发环境
28.3.2  软件开发环境
28.4  数据库与数据表设计
28.4.1  数据库分析
28.4.2  创建数据库
28.4.3  创建数据表
28.5  创建项目
28.6  系统文件夹组织结构
28.7  公共类设计
28.7.1  Item公共类
28.7.2  数据模型公共类
28.7.3  Dao公共类
28.8  系统登录模块设计
28.8.1  设计登录窗体
28.8.2  “密码”文本框的回车事件
28.8.3  “登录”按钮的事件处理
28.9  系统主窗体设计
28.9.1  设计菜单栏
28.9.2  设计工具栏
28.9.3  设计状态栏
28.10  进货单模块设计
28.10.1  设计进货单窗体
28.10.2  添加进货商品
28.10.3  进货统计
28.10.4  商品入库
28.11  销售单模块设计
28.11.1  设计销售单窗体
28.11.2  添加销售商品
28.11.3  销售统计
28.11.4  商品销售
28.12  库存盘点模块设计
28.12.1  设计库存盘点窗体
28.12.2  读取库存商品
28.12.3  统计损益数量
28.13  数据库备份与恢复模块设计
28.13.1  设计窗体
28.13.2  文件浏览
28.13.3  备份数据库
28.13.4  恢复数据库
28.14  运行项目
28.15  系统打包发行
28.16  开发常见问题与解决
28.16.1  数据库无法访问
28.16.2  打包的JAR文件无法登录
28.16.3  数据库还原不成功
28.16.4  数据库只读
28.16.5  无法打开内部窗体
28.16.6  “关于”界面被其他窗体覆盖
28.16.7  打包JAR文件之后无法运行
28.16.8  程序运行后没有出现闪屏界面
28.17  小结