第1章 Java语言概述 1
1.1 Java的诞生 1
1.2 Java的特点 2
1.3 Java与Internet 5
1.4 Java 7的新特性 6
1.5 Java程序的分类 8
1.5.1 Java应用程序Application 8
1.5.2 Java小程序Applet 8
1.5.3 Java服务器端程序Servlet 8
1.6 小结 9
习题1 10
第2章 Java运行环境及开发工具简介 11
2.1 Java运行系统与开发流程 11
2.1.1 Java运行系统 11
2.1.2 Java平台 12
2.1.3 Java程序开发流程 12
2.2 Java JDK的安装和配置 14
2.2.1 JDK的安装 14
2.2.2 JDK的配置 15
2.2.3 Java开发工具包JDK 17
2.3 Java源文件编辑环境的选择与设置 19
2.4 编写并运行Application程序 20
2.5 编写并运行一个Applet 小程序 24
2.6 注释 25
2.6.1 代码注释 25
2.6.2 文档注释 25
2.7 编程风格 27
2.7.1 Allmans风格 27
2.7.2 Kernighan风格 27
2.8 小结 27
习题2 27
第3章 基本类型、数组和枚举类型 28
3.1 标识符和关键字 28
3.1.1 标识符 28
3.1.2 关键字 29
3.2 基本数据类型 29
3.2.1 逻辑类型 29
3.2.2 整数类型 30
3.2.3 字符类型 30
3.2.4 浮点类型 30
3.2.5 基本数据类型的转换 31
3.3 从命令行输入/输出数据 32
3.3.1 输入基本型数据 32
3.3.2 输出基本型数据 33
3.4 数组 33
3.4.1 声明数组 34
3.4.2 创建数组 34
3.4.3 数组元素的使用 34
3.4.4 length的使用 35
3.4.5 数组的初始化 35
3.4.6 数组的引用 36
3.4.7 表示格式 36
3.4.8 复制数组 36
3.4.9 排序与二分查找 38
3.5 枚举类型 40
3.6 小结 40
习题3 40
第4章 运算符、表达式和语句 42
4.1 运算符 42
4.1.1 赋值运算符与赋值表达式 42
4.1.2 算术运算符与算术表达式 42
4.1.3 关系运算符与关系表达式 44
4.1.4 逻辑运算符与逻辑表达式 45
4.1.5 位运算符 46
4.1.6 三目运算符和复杂运算符 46
4.1.7 instanceof运算符 47
4.1.8 运算符优先级 47
4.2 选择(条件)控制 48
4.2.1 if-else语句 48
4.2.2 switch-case语句 49
4.3 循环控制 51
4.3.1 for语句 51
4.3.2 while语句 52
4.3.3 do-while语句 53
4.4 跳转控制 54
4.4.1 break语句 54
4.4.2 continue语句 55
4.4.3 return语句 56
4.5 其他语句 57
4.6 小结 57
习题4 57
第5章 .Java面向对象程序设计的基本概念 58
5.1 Java面向对象基础 58
5.1.1 类和对象 59
5.1.2 类的定义 59
5.1.3 类修饰符 60
5.2 对象创建和引用 62
5.2.1 对象的定义 63
5.2.2 对象成员变量的引用 63
5.2.3 对象方法的调用 64
5.3 成员变量 65
5.3.1 成员变量的定义 66
5.3.2 成员变量修饰符 66
5.4 方法 67
5.4.1 方法声明 67
5.4.2 方法调用 68
5.4.3 方法参数的传递 68
5.4.4 方法修饰符 70
5.4.5 方法重载 71
5.4.6 构造方法 72
5.4.7 类方法和实例方法 73
5.5 包 75
5.5.1 包的定义 75
5.5.2 包的引用 76
5.6 访问权限 77
5.6.1 私有变量和私有方法 77
5.6.2 共有变量和共有方法 78
5.6.3 友好变量和友好方法 79
5.6.4 受保护的成员变量和方法 79
5.6.5 public类与友好类 80
5.7 小结 80
练习5 80
第6章 继承与多态 83
6.1 继承 83
6.1.1 子类与父类 83
6.1.2 类的继承性 84
6.1.3 子类对象的构造过程 85
6.1.4 成员变量的隐藏和方法重写 86
6.1.5 super关键字 88
6.1.6 final关键字 91
6.1.7 对象的上转型对象 92
6.2 抽象类 93
6.2.1 抽象类的定义 93
6.2.2 抽象类的实现 93
6.2.3 抽象类与多态 96
6.3 接口 97
6.3.1 接口的声明与使用 97
6.3.2 理解接口 99
6.3.3 接口回调 100
6.3.4 接口与多态 102
6.3.5 抽象类与接口的比较 104
6.4 小结 104
习题6 104
第7章 异常处理 106
7.1 异常的概念 106
7.2 异常处理机制 108
7.3 异常处理方式 109
7.4 捕获异常 110
7.5 抛出异常 112
7.6 自定义异常 114
7.7 小结 115
练习7 115
第8章 Java API简介 116
8.1 Java API 中的包 116
8.2 java.lang包 117
8.2.1 java.lang.System类 117
8.2.2 java.lang.String类 121
8.2.3 java.1 ang.StringBuilder类 128
8.2.4 基本数据类型的封装类 133
8.3 java.Math包 136
8.3.1 BigInteger 138
8.3.2 BigDecimal 141
8.4 java.util包 141
8.4.1 日期类Calendar 141
8.4.2 随机数类Random 147
8.5 小结 150
习题8 150
第9章 泛型与集合框架 152
9.1 泛型 152
9.1.1 泛型类声明 153
9.1.2 使用泛型类声明对象 154
9.1.3 包含多个参数类型的泛型类 156
9.1.4 有界类型 157
9.1.5 通配符泛型 158
9.1.6 泛型方法 160
9.1.7 泛型接口 161
9.2 集合框架 161
9.2.1 Collection接口 161
9.2.2 List接口 163
9.2.3 Set接口 164
9.2.4 Map接口 165
9.3 List集合 166
9.3.1 ArrayList<E>类 166
9.3.2 LinkedList<E>类 169
9.3.3 Vector<E>类 173
9.3.4 Stack<E>类 173
9.4 Set集合 174
9.4.1 TreeSet类 174
9.4.2 HashSet类 176
9.5 Map集合 178
9.5.1 TreeMap类 178
9.5.2 HashMap类 180
9.6 自动装箱与拆箱 183
9.7 小结 183
习题9 183
第10章 Java Swing图形用户界面 185
10.1 Java Swing概述 185
10.2 JFrame窗口 186
10.3 布局管理器 188
10.3.1 FlowLayout布局 188
10.3.2 BorderLayout布局 190
10.3.3 CardLayout布局 192
10.3.4 GridLayout布局 194
10.3.5 BoxLayout布局 197
10.4 常用控件 198
10.4.1 标签JLabel 198
10.4.2 文本框JTextField 200
10.4.3 按钮JButton 201
10.4.4 菜单JMenu 203
10.4.5 文本区JTextArea 205
10.4.6 单选按钮JRadioButton 207
10.4.7 下拉列表JList 209
10.4.8 表格JTable 211
10.4.9 树JTree 214
10.5 事件处理机制 218
10.5.1 窗口事件 218
10.5.2 键盘事件 220
10.5.3 鼠标事件 221
10.5.4 焦点事件 223
10.6 小结 224
习题10 224
第11章 对话框 225
11.1 JDialog类 225
11.1.1 JDialog类的主要方法 225
11.1.2 对话框的模式 226
11.2 文件对话框 228
11.3 消息对话框 230
11.4 输入对话框 232
11.5 确认对话框 234
11.6 颜色对话框 235
11.7 小结 237
习题11 237
第12章 输入/输出流 238
12.1 File类 238
12.1.1 文件的属性 238
12.1.2 目录 240
12.1.3 文件的创建与删除 242
12.1.4 运行可执行文件 244
12.2 文件字节流 245
12.2.1 文件字节输入流 245
12.2.2 文件字节输出流 247
12.2.3 关闭流 248
12.3 文件字符流 249
12.4 缓冲流 250
12.5 文件对话框 252
12.6 随机流 256
12.7 数组流 258
12.8 数据流 260
12.9 带进度条的输入流 261
12.10 对象流 263
12.11 序列化与对象克隆 264
12.12 小结 267
习题12 267
第13章 Java多媒体程序设计 268
13.1 多媒体技术概述 268
13.2 Java图形处理 268
13.2.1 图形坐标系 268
13.2.2 Graphics类 269
13.2.3 Color类 275
13.2.4 文本与字体 277
13.3 图像处理 278
13.3.1 加载图像 279
13.3.2 显示图像 279
13.3.3 图像的简单处理 279
13.4 声音播放 281
13.5 动画技术 283
13.6 小结 288
习题13 288
第14章 JDBC数据库编程 289
14.1 MySQL数据库管理系统 289
14.1.1 MySQL数据库的安装与配置 290
14.1.2 Navicat数据库管理工具 294
14.1.3 创建数据库 295
14.2 JDBC 299
14.2.1 JDBC的原理 299
14.2.2 JDBC的功能 300
14.2.3 ODBC和JDBC的比较 300
14.2.4 JDBC两层结构和三层结构 300
14.2.5 JDBC应用程序接口 301
14.3 JDBC驱动程序 302
14.3.1 JDBC的驱动程序管理器 302
14.3.2 JDBC驱动程序类型 303
14.3.3 使用JDBC-ODBC桥连接Access 304
14.3.4 使用本地API JDBC驱动连接MySQL 307
14.4 JDBC数据库访问流程 308
14.4.1 加载JDBC驱动程序 310
14.4.2 创建数据库连接 310
14.4.3 执行SQL语句 311
14.4.4 接收并处理SQL的返回结果 311
14.4.5 关闭连接释放资源 311
14.5 查询操作 311
14.5.1 Statement与ResultSet接口 311
14.5.2 顺序查询 314
14.5.3 随机查询 316
14.5.4 预编译与参数化查询 318
14.5.5 离线查询 320
14.6 更新、添加与删除操作 323
14.6.1 常规操作 323
14.6.2 参数化操作 324
14.7 批处理与事务处理 326
14.8 小结 328
习题14 329
第15章 Java多线程机制 330
15.1 多线程基础 330
15.1.1 程序、进程与线程 330
15.1.2 多线程基本概念 332
15.2 线程的创建 333
15.2.1 继承Thread类创建线程 333
15.2.2 实现Runnable接口创建线程 335
15.2.3 两种创建线程方法的优、缺点 336
15.3 线程的生命周期及控制 337
15.3.1 线程的生命周期 337
15.3.2 线程的休眠 338
15.3.3 线程的优先级 339
15.4 线程的同步 341
15.4.1 synchronized关键字 341
15.4.2 线程同步常用的方法 343
15.4.3 堆栈问题 343
15.4.4 生产者-消费者问题 346
15.4.5 线程同步的辅助类CountDownLatch 349
15.5 线程联合 351
15.6 守护线程 353
15.7 小结 354
习题15 355
第16章 Java网络编程 357
16.1 TCP/IP协议简介 357
16.1.1 IP 358
16.1.2 端口的概念 358
16.1.3 TCP 359
16.1.4 UDP 360
16.2 网络开发中的常用工具类 360
16.2.1 URL类简介与使用 361
16.2.2 InetAddress类简介与使用 364
16.3 面向连接的TCP通信 365
16.3.1 类Socket 365
16.3.2 类ServerSocket 366
16.3.3 Socket通信 367
16.3.4 多线程Socket通信 370
16.4 无连接的UDP通信 374
16.5 UDP广播通信 380
16.6 小结 383
习题16 384
参考文献 385