内容简介
第0章 Java学习指南
0.1 Java的来源
0.2 Java的基本思想
0.3 Java的技术体系
0.4 Java无处不在
0.5 Java学习经验谈
0.6 Java学习路线图
第1篇 基础知识
第1章 揭开Java的神秘面纱
1.1 Java开发环境
1.2 安装Java开发工具箱
1.2.1 下载JDK
1.2.2 在Windows 7中安装JDK
1.2.3 在Red Hat Enterprise Linux中安装JDK
1.2.4 在Ubuntu操作系统中安装JDK
1.3 磨刀不误砍柴工——环境变量的配置
1.3.1 理解环境变量
1.3.2 配置JDK中的3个环境变量
1.4 享受安装成果——开发第1个Java程序
1.5 探秘Java虚拟机(JVM)
1.6 高手点拨
1.7 实战练习
第2章 流行的Java开发工具——Eclipse
2.1 认识Eclipse开发工具
2.1.1 Eclipse概述
2.1.2 Eclipse的安装、设置与启动
2.1.3 Eclipse工作台
2.1.4 Eclipse菜单栏
2.2 使用Eclipse开始工作
2.2.1 创建Java项目
2.2.2 创建Java类文件
2.2.3 在代码编辑器中编写Java程序代码
2.2.4 运行Java程序
2.3 在Eclipse中调试程序
2.4 高手点拨
2.5 实战练习
第3章 初识庐山真面目——Java程序要素概览
3.1 一个简单的例子
3.2 感性认识Java程序
3.2.1 认识Java程序的框架
3.2.2 认识标识符
3.2.3 认识关键字
3.2.4 认识注释
3.2.5 认识变量
3.2.6 认识数据类型
3.2.7 认识运算符和表达式
3.2.8 认识类
3.2.9 输入与输出
3.3 程序的检测
3.3.1 语法错误
3.3.2 语义错误
3.4 提高程序的可读性
3.5 高手点拨
3.6 实战练习
第4章 最常用的编程元素——常量与变量
4.1 常量
4.1.1 声明常量
4.1.2 常量应用示例
4.2 变量
4.2.1 声明变量
4.2.2 变量的命名规则
4.2.3 变量的作用范围
4.3 高手点拨
4.4 实战练习
第5章 不可不知的数据分类法——数据类型
5.1 数据类型的意义
5.2 整数类型
5.2.1 byte类型
5.2.2 short类型
5.2.3 int类型
5.2.4 long类型
5.3 浮点类型
5.3.1 float类型
5.3.2 double类型
5.4 字符类型(char)
5.5 布尔类型(boolean)
5.6 数据类型的转换
5.6.1 自动类型转换
5.6.2 强制类型转换
5.7 基本数据类型的默认值
5.8 高手点拨
5.9 实战练习
第6章 最重要的编程部件——运算符、表达式与语句
6.1 运算符
6.1.1 赋值运算符
6.1.2 一元运算符
6.1.3 算术运算符
6.1.4 逻辑运算符
6.1.5 位运算符
6.1.6 三元运算符
6.1.7 关系运算符与if语句
6.1.8 递增与递减运算符
6.1.9 括号运算符
6.1.10 运算符的优先级
6.2 表达式
6.2.1 算术表达式
6.2.2 关系表达式
6.2.3 逻辑表达式
6.2.4 赋值表达式
6.2.5 表达式的类型转换
6.3 语句
6.3.1 语句中的空格
6.3.2 空语句
6.3.3 声明语句
6.3.4 赋值语句
6.4 高手点拨
6.5 实战练习
第7章 程序执行方向——程序控制结构
7.1 程序逻辑
7.1.1 顺序结构
7.1.2 分支结构
7.1.3 循环结构
7.2 选择结构
7.2.1 if语句
7.2.2 if...else语句
7.2.3 if...else if...else语句
7.2.4 多重选择——switch语句
7.3 循环结构
7.3.1 while循环
7.3.2 do...while循环
7.3.3 for循环
7.3.4 foreach循环
7.3.5 循环嵌套
7.4 循环的跳转
7.4.1 break语句
7.4.2 continue语句
7.4.3 retum语句
7.5 高手点拨
7.6 实战练习
第8章 常用的数据结构——数组
8.1 理解数组
8.2 一维数组
8.2.1 一维数组的声明与内存的分配
8.2.2 数组中元素的表示方法
8.2.3 数组元素的赋值
8.2.4 数组应用范例
8.3 二维数组
8.3.1 二维数组的声明与分配内存
8.3.2 二维数组元素的引用及访问
8.4 多维数组
8.5 高手点拨
8.6 实战练习
第9章 面向对象设计——类和对象
9.1 理解面向对象程序设计
9.1.1 结构化程序设计简介
9.1.2 面向对象程序设计简介
9.1.3 面向对象程序设计的基本特征
9.1.4 面向对象编程和面向过程编程的比较
9.2 面向对象的基本概念
9.2.1 类
9.2.2 对象
9.2.3 类和对象的关系
9.3 类的声明与定义
9.3.1 类的声明
9.3.2 类的定义
9.4 类的属性
9.4.1 属性的定义
9.4.2 属性的使用
9.5 对象的声明与使用
9.5.1 对象的声明
9.5.2 对象的使用
9.5.3 匿名对象
9.5.4 对象的比较
9.5.5 对象数组的使用
9.6 高手点拨
9.7 实战练习
第10章 重复调用的代码块——方法
10.1 方法的基本定义
10.2 方法的使用
10.3 方法中的形参与实参
10.4 方法的重载
10.5 构造方法
10.5.1 构造方法
10.5.2 构造方法的重载
10.5.3 构造方法的私有化
10.6 在方法内部调用方法
10.7 方法的递归调用
10.8 代码块
10.8.1 普通代码块
10.8.2 构造代码块
10.8.3 静态代码块
10.9 方法与数组
10.9.1 数组引用传递
10.9.2 在方法中实现排序
10.9.3 让方法返回数组
10.10 与数组有关的操作方法
10.10.1 数组的克隆
10.10.2 数组的排序
10.11 高手点拨
10.12 实战练习
第11章 快速归类整型常数——枚举
11.1 枚举简介
11.2 自定义的枚举
11.3 Java中的枚举
11.3.1 常见的枚举定义方法
11.3.2 在程序中使用枚举
11.3.3 在switch语句中使用枚举
11.4 枚举类和枚举关键字
11.4.1 枚举类
11.4.2 枚举关键字
11.4.3 枚举类与枚举关键字的联系
11.5 类集对于枚举的支持
11.5.1 EnumMap
11.5.2 EnumSet
11.6 深入了解枚举
11.6.1 枚举的构造方法
11.6.2 枚举的接口
11.6.3 在枚举中定义抽象方法
11.7 高手点拨
11.8 实战练习
第2篇 核心技术
第12章 类的封装、继承与多态
12.1 面向对象的三大特点
12.1.1 封装的含义
12.1.2 继承的含义
12.1.3 多态的含义
12.2 封装的实现
12.2.1 Java访问权限修饰符
12.2.2 封装问题引例
12.2.3 类的封装实例
12.2.4 封装问题的总结
12.2.5 实现封装应该注意的问题
12.3 继承的实现
12.3.1 继承的基本概念
12.3.2 继承问题的引出
12.3.3 实现继承
12.3.4 继承的限制
12.4 深度认识类的继承
12.4.1 子类对象的实例化过程
12.4.2 super关键字的使用
12.4.3 限制子类的访问
12.5 覆写
12.5.1 方法的覆写
12.5.2 属性的覆写
12.6 多态的实现
12.6.1 多态的基本概念
12.6.2 方法多态性
12.6.3 对象多态性
12.6.4 隐藏
12.7 高手点拨
12.8 实战练习
第13章 抽象类与接口
13.1 抽象类
13.1.1 抽象类的基本概念
13.1.2 抽象类应用——模板设计模式
13.2 接口
13.2.1 接口的基本概念
13.2.2 接口的使用原则
13.2.3 接口的作用——制定标准
13.2.4 接口的作用——工厂设计模式(Factory)
13.2.5 接口的作用——代理设计模式(Proxy)
13.3 抽象类和接口对比
13.4 高手点拨
13.5 实战练习
第14章 关于类的专题研究
14.1 众类鼻祖——Object类
14.1.1 取得对象信息:toString()
14.1.2 对象相等判断方法:equals()
14.1.3 对象签名hashcode()
14.1.4 使用Object接收任意引用数据类型对象
14.2 内部类
14.2.1 内部类的基本定义
14.2.2 使用static定义的内部类就是外部类
14.2.3 在方法中定义内部类
14.3 匿名内部类
14.4 匿名对象
14.5 this关键字的使用
14.6 static关键字的使用
14.6.1 使用static定义属性
14.6.2 使用static定义方法
14.6.3 Static主方法(main)
14.6.4 Static应用——Static代码块及静态导入
14.7 final关键字的使用
14.8 instanceof关键字的使用
14.9 高手点拨
14.10 实战练习
第15章 储存类的仓库——Java常用类库
15.1 API概念
15.2 基本数据类型的包装类
15.2.1 装箱与拆箱
15.2.2 基本数据类型与字符串的转换
15.3 System类与Runtime类
15.3.1 System类
15.3.2 Runtime类
15.4 日期操作类
15.4.1 日期类
15.4.2 日期格式化类
15.5 正则表达式
15.5.1 正则的引出
15.5.2 正则标记
15.5.3 利用string进行正则操作
15.6 Math与Random类
15.7 大型数字操作类
15.7.1 大型整数操作类BigInteger
15.7.2 大型浮点数操作类BigDecimal
15.8 Integer类
15.9 Boolean类
15.10 Byte类
15.11 高手点拨
15.12 实战练习
第16章 解读Java中的String类
16.1 String类
16.1.1 字符串的声明
16.1.2 再看String类
16.1.3 string类的两种实例化方式
16.1.4 String内容的比较
16.1.5 字符串常量是String类的匿名对象
16.1.6 两种字符串实例化方式的区别
16.1.7 字符串一旦声明则不可改变
16.1.8 String类的常用方法
16.2 高手点拨
16.3 实战练习
第17章 对象的引用与传递
17.1 初步了解引用传递
17.2 引用数据类型的传递
17.3 引用传递与现实生活的联系
17.4 引用小分析——集成设计模式
17.5 对象克隆
17.6 反射机制
17.6.1 认识反射
17.6.2 反射的其他操作
17.7 高手点拨
17.8 实战练习
第18章 包及访问权限
18.1 包的概念及使用
18.1.1 包(package)的基本概念
18.1.2 包的导入
18.1.3 JDK中常见的包
18.2 类成员的访问控制权限
18.3 Java的命名规范
18.4 打包工具——Jar命令的使用
18.5 构造方法私有化—单例设计模式(Singleton)
18.6 多例设计模式
18.7 高手点拨
18.8 实战练习
第19章 异常的捕获与处理
19.1 异常的基本概念
19.1.1 为何需要异常处理
19.1.2 简单的异常范例
19.1.3 异常的处理
19.1.4 异常处理机制小结
19.2 异常类的处理流程
19.3 throws关键字
19.4 throw关键字
19.5 异常处理的标准格式
19.6 RuntimeException类
19.7 编写自己的异常类
19.8 高手点拨
19.9 实战练习
第20章 Java类集框架
20.1 认识类集框架
20.2 类集接口
20.3 单值保存的最大父接口——Collection
20.4 Collection接口的具体实现类
20.5 允许重复的子接口——List
20.5.1 ArrayList类
20.5.2 LinkedList类
20.5.3 旧的子类——Vector
20.6 数组操作类——Arrays
20.7 比较器
20.7.1 Comparable接口
20.7.2 挽救的比较器接口——Comparator
20.8 不允许重复的子接口——Set
20.8.1 HashSet类
20.8.2 TreeSet类
20.8.3 SortedSet接口
20.9 类集的输出
20.9.1 迭代器
20.9.2 单向迭代输出——Iterator
20.9.3 双向迭代——ListIterator
20.9.4 废弃的枚举输出——Enumeration
20.9.5 for-each输出
20.10 偶对象保存接口——Map
20.10.1 映射接口
20.10.2 映射类
20.10.3 比较方法
20.10.4 旧的子类——Hashtable
20.10 与关于Map集合的输出问题
20.11 前期版本遗留下来的类和接口
20.11.1 Stack类
20.11.2 Dictionary类
20.11.3 属性操作类——Properties类
20.11.4 在Properties类中使用store()和load()方法
20.12 Collections类
20.13 Java 8中的泛型
20.13.1 知识回顾
20.13.2 了解新内容
20.14 高手点拨
20.15 实战练习
第21章 给编译器看的注解——Annotation
21.1 Annotation的含义
21.2 系统内建的Annotation
21.2.1 @Override
21.2.2 @Deprecated
21.2.3 @SuppressWamings
21.3 自定义Annotation
21.4 Retention和RetentionPolicy
21.5 反射与Annotation
21.5.1 取得全部的Annotation
21.5.2 取得指定的Annotation
21.6 深入Annotation
21.6.1 Target
21.6.2 Documented注释
21.6.3 Inherited
21.7 高手点拨
21.8 实战练习
第3篇 高级应用
第22章 齐头并进完成任务——多线程
22.1 感知多线程
22.1.1 现实生活中的多线程
22.1.2 进程与线程
22.2 体验多线程
22.2.1 通过继承Thread类实现多线程
22.2.2 通过Runnable接口实现多线程
22.2.3 两种多线程实现机制的比较
22.3 线程的状态
22.4 线程操作的一些方法
22.4.1 取得和设置线程的名称
22.4.2 判断线程是否启动
22.4.3 守护线程与setDaemon方法
22.4.4 线程的联合
22.4.5 线程的中断
22.5 多线程的同步
22.5.1 同步问题的引出
22.5.2 同步代码块
22.5.3 同步方法
22.5.4 死锁
22.6 线程间通信
22.6.1 问题的引出
22.6.2 问题如何解决
22.7 线程生命周期的控制
22.8 高手点拨
22.9 实战练习
第23章 文件I/O操作
23.1 文件操作类——File
23.2 RandomAccess File类
23.3 字节流与字符流
23.3.1 字节输出流——OutputStream
23.3.2 字节输入流——InputStream
23.3.3 字符输出流——Writer
23.3.4 字符输入流——Reader
23.3.5 字节流与字符流的转换
23.4 管道流
23.5 内存操作流
23.6 打印流
23.6.1 输出问题的提出
23.6.2 打印流的使用
23.6.3 打印流的更新
23.7 合并(序列)流
23.8 System类对I/O的支持
23.9 字符编码
23.10 对象序列化
23.10.1 对象序列化的基本概念
23.10.2 对象输出流——ObjectOutputStream
23.10.3 对象输入流——ObjectInputStream
23.10.4 反序列化的基本概念
23.10.5 transient关键字
23.11 Java 8中有关流的新功能
23.12 高手点拨
23.13 实战练习
第24章 Java网页小程序——Java Applet
24.1 Applet程序简介
24.2 Eclipse开发Applet的流程
24.3 Applet程序中使用的几个基本方法
24.4 在HTML中嵌入Applet程序
24.4.1 HTML代码的基本结构
24.4.2 Applet标记
24.4.3 在HTML中传递Applet程序使用的参数
24.5 高手点拨
24.6 实战练习
第25章 Java网络程序设计
25.1 Socket介绍
25.2 ServerSocket概念
25.3 Socket程序
25.4 DatagramSocket程序
25.5 网络编程的基本概念
25.6 TCP程序实现
25.6.1 简单的TCP程序
25.6.2 加入多线程
25.7 UDP程序实现
25.8 网络编程的经典案例:Echo程序
25.9 高手点拨
25.10 实战练习
第26章 Java数据库编程
26.1 数据库连接的基本概念
26.2 使用数据库的准备工作
26.3 JDBC的使用
26.3.1 Oracle数据库的安装
26.3.2 数据库连接驱动程序设置
26.3.3 数据库表的准备
26.3.4 连接数据库的步骤
26.4 数据库连接的详细步骤
26.5 操作数据库
26.5.1 更新数据表
26.5.2 查询数据表
26.5.3 删除数据表
26.6 查询信息实例
26.7 与数据库相关的接口
26.7.1 完成增加操作
26.7.2 完成查询操作
26.7.3 完成模糊查询操作
26.8 PrepareStatement接口
26.9 批处理
26.10 事务处理
26.11 MySQL数据库
26.11.1 MySQL数据库的安装
26.11.2 MySQL数据库的基本命令
26.11.3 使用MySQL数据库
26.12 高手点拨
26.13 实战练习
第27章 DAO设计模式
27.1 程序的分层
27.2 具体问题的分析
27.3 定义数据传输/表现层对象类(DTO/VO)
27.4 定义数据层操作接口(DAO接口)和实现类
27.5 定义业务层操作接口(service)和实现类
27.6 编写其他辅助类
27.6.1 编写数据库连接操作类:DatabaseConnection
27.6.2 编写过滤器类
27.7 高手点拨
27.8 实战练习
第4篇 项目实战
第28章 Java项目开发实战——OA办公系统
28.1 系统概述
28.1.1 运行系统
28.1.2 系统的开发步骤
28.2 系统需求分析
28.3 系统设计
28.3.1 相关信息
28.3.2 数据库设计
28.4 代码实现
28.4.1 User VO.java
28.4.2 DatabaseConnection.java
28.4.3 User_InformSelectDAO
28.4.4 User_InformInsertDAO.java
28.4.5 User_InformUpdateDAO.java
28.4.6 User_InformDeleteDAO.java
28.4.7 LoginService.java和LoginServlet.java
28.5 高手点拨
28.6 实战练习
第29章 Java项目开发实战——电子商务网站平台开发
29.1 系统概述
29.1.1 运行系统
29.1.2 系统的开发步骤
29.2 系统需求分析
29.3 系统设计
29.3.1 相关信息
29.3.2 系统功能模块划分
29.3.3 数据库设计
29.3.4 整体架构设计
29.4 代码实现
29.4.1 User.java
29.4.2 Goods.java
29.4.3 Order.java
29.4.4 UserDAO.java
29.4.5 UserDAOImpl.java
29.4.6 OrderDAO.java
29.4.7 PlancingOrderServlet.java
29.5 高手点拨
29.6 实战练习