第1章 开始Java之旅 1
1.1 无处不在的Java 1
1.2 Java为何受大家喜爱 2
1.3 Java的目标 3
1.4 Java开发环境的搭建 3
1.4.1 JDK的下载与安装 3
1.4.2 Java开发环境配置 5
1.5 Java程序运行的原理 6
1.6 Java开发工具Eclipse 6
1.6.1 Eclipse的安装与启动 6
1.6.2 Eclipse编写Java程序的流程 8
1.7 要点总结 12
1.8 练习题 12
第2章 Java语言基础 13
2.1 Java程序的基本组成 13
2.2 Java语言的数据类型 16
2.2.1 整数类型 16
2.2.2 浮点类型 17
2.2.3 字符类型 17
2.2.4 布尔类型 17
2.2.5 基本数据类型的默认值 17
2.2.6 类型转换 17
2.3 运算符和表达式 19
2.3.1 赋值运算符 19
2.3.2 算术运算符 19
2.3.3 位运算符 20
2.3.4 关系运算符 21
2.3.5 三元运算符 21
2.3.6 运算符优先级 22
2.4 流程控制语句 22
2.4.1 选择语句 22
2.4.2 循环语句 27
2.5 数组与方法 32
2.5.1 一维数组 32
2.5.2 二维数组 35
2.5.3 方法 37
2.6 要点总结 40
2.7 编程练习 40
第3章 Java面向对象编程 41
3.1 理解面向对象 41
3.1.1 基本概念 41
3.1.2 基本特性 42
3.2 类与对象 42
3.2.1 类定义 42
3.2.2 对象的创建及使用 45
3.2.3 this和static关键字 48
3.2.4 内部类 52
3.3 继承 53
3.3.1 继承的语法和规则 53
3.3.2 重载和覆盖 55
3.3.3 super关键字 56
3.4 final关键字 57
3.4.1 final变量 57
3.4.2 final方法 57
3.4.3 final类 58
3.5 抽象类 58
3.6 接口 59
3.6.1 接口定义 59
3.6.2 实现接口 60
3.6.3 匿名内部类 61
3.7 包及访问控制权限 61
3.7.1 包的操作 62
3.7.2 访问权限修饰符 62
3.8 对象的多态性 63
3.9 Object类 64
3.10 包装类 66
3.10.1 基本数据类型转换为包装类 67
3.10.2 字符串转换为包装类 67
3.10.3 包装类转换为基本数据类型 67
3.10.4 字符串转换为基本数据类型 68
3.10.5 自动装箱和自动拆箱 68
3.10.6 覆盖父类的方法 69
3.11 String类 69
3.11.1 String对象的实例化和内容比较 69
3.11.2 String类中的常用方法 70
3.12 要点总结 71
3.13 编程练习 71
第4章 Java异常 73
4.1 Java中的异常类及分类 73
4.2 Java异常处理机制 75
4.2.1 捕获处理异常 76
4.2.2 声明抛出异常 80
4.3 自定义异常 82
4.4 自定义异常的综合应用 84
4.5 实例练习:异常的综合应用 87
4.6 要点总结 88
4.7 编程练习 88
第5章 Java线程 90
5.1 多线程及线程简介 90
5.2 线程的创建 91
5.3 线程的状态 95
5.4 线程的调度 95
5.5 线程的优先级 96
5.6 守护线程 99
5.7 线程同步 101
5.8 实例练习:线程综合应用 106
5.9 要点总结 109
5.10 练习题 109
5.11 编程练习 110
第6章 Java集合框架 111
6.1 常用集合接口 111
6.1.1 Collection接口 112
6.1.2 List接口 113
6.1.3 Set接口 114
6.1.4 Map接口 114
6.1.5 Map.Entry接口 116
6.1.6 Iterator接口 116
6.1.7 ListIterator接口 116
6.2 常用集合类 117
6.2.1 ArrayList类 118
6.2.2 LinkedList类 121
6.2.3 HashSet类 125
6.2.4 HashMap 127
6.3 实例练习:集合类的综合运用 131
6.4 要点总结 132
6.5 练习题 132
6.6 编程练习 133
第7章 Java IO 134
7.1 File类 134
7.2 RandomAccessFile类 136
7.3 字节流与字符流 137
7.3.1 字节流 138
7.3.2 字符流 139
7.3.3 字节流与字符流的区别 140
7.4 转换流 141
7.5 打印流 142
7.6 管道流 143
7.7 BufferedReader类和BufferedWriter类 144
7.8 数据操作流 145
7.9 对象流 147
7.10 Scanner类 148
7.11 要点总结 148
7.12 编程练习 149
第8章 Java数据库编程 150
8.1 JDBC技术 150
8.1.1 JDBC技术简介 150
8.1.2 JDBC驱动程序 151
8.1.3 JDBC和ODBC与其他API的比较 152
8.2 结构化查询语言 152
8.2.1 SQL简介 153
8.2.2 SELECT语句 153
8.2.3 更新记录 154
8.2.4 聚集函数 155
8.3 JDBC基本操作 156
8.3.1 JDBC操作步骤 156
8.3.2 JDBC-ODBC连接数据库 157
8.3.3 JDBC直接连接数据库 163
8.3.4 JDBC对数据库的更新操作 167
8.4 JDBC高级操作 170
8.4.1 PreparedStatemen接口 170
8.4.2 CallableStatement接口 172
8.4.3 事务处理 173
8.5 要点总结 173
8.6 练习题 173
8.7 编程练习 174
第9章 Java网络编程 175
9.1 网络基础 175
9.1.1 TCP/IP网络模型 175
9.1.2 IP地址与InetAddress类 176
9.1.3 套接字 176
9.2 UDP协议网络程序 177
9.2.1 概述 177
9.2.2 DatagramPacket类 177
9.2.3 DatagramSocket类 178
9.2.4 创建UDP服务器端程序 179
9.2.5 创建UDP客户端程序 180
9.3 TCP协议网络程序 181
9.3.1 概述 181
9.3.2 Socket类 182
9.3.3 ServerSocket类 183
9.3.4 创建TCP服务器端程序 184
9.3.5 创建TCP客户端程序 185
9.4 HTTP协议网络程序 186
9.4.1 概述 186
9.4.2 URL类 186
9.4.3 URLConnection类 188
9.5 综合实例:实现简单的Web服务器 189
9.6 要点总结 193
9.7 练习题 193
9.8 编程练习 194
第10章 Java图形用户界面 195
10.1 AWT与Swing简介 195
10.1.1 AWT简介 195
10.1.2 Swing简介 196
10.1.3 容器简介 196
10.2 创建窗体 197
10.3 标签组件:JLabel 198
10.4 按钮组件:JButton 202
10.5 JPanel容器 203
10.6 布局管理器 204
10.6.1 FlowLayout 204
10.6.2 BorderLayout 205
10.6.3 GridLayout 206
10.6.4 CardLayout 207
10.7 文本组件:JTextComponent 208
10.7.1 单行文本框:JTextField 208
10.7.2 密码文本框:JPasswordField 210
10.7.3 多行文本框:JTextArea 211
10.8 事件处理 212
10.8.1 事件和监听器 212
10.8.2 窗体事件 215
10.8.3 动作事件及监听处理 218
10.8.4 键盘事件及监听处理 219
10.8.5 鼠标事件及监听处理 221
10.8.6 焦点事件及监听处理 223
10.9 单选按钮组件:JRadioButton 224
10.10 复选框组件:JCheckBox 227
10.11 列表框组件:JList 229
10.12 下拉列表框:JComboBox 230
10.13 菜单组件:JMenu与JMenuBar 232
10.14 文件选择框组件:JFileChooser 233
10.15 要点总结 236
10.16 练习题 236
第11章 Java常用类库 239
11.1 StringBuffer类 239
11.2 Runtime类 242
11.3 System类 244
11.4 Math类 244
11.5 Random类 245
11.6 要点总结 245
11.7 练习题 245
第12章 Java项目开发 248
12.1 软件开发过程 248
12.1.1 需求 248
12.1.2 分析设计 249
12.1.3 实现和测试 249
12.2 项目实例:记事本工具的开发 249
12.2.1 需求分析设计 249
12.2.2 实现和测试 250
12.3 项目实例:网络通信工具的开发 267
12.3.1 需求分析设计 267
12.3.2 实现和测试 268
12.4 项目实例:在线相册的开发 272
12.4.1 需求分析设计 272
12.4.2 数据库设计 273
12.4.3 开发数据库JavaBean 276
12.4.4 实现和测试 290
12.5 要点总结 308
12.6 编程练习 308