第1章 Java基础知识 1
1.1 Java语言简介 1
1.1.1 Java发展史 2
1.1.2 Java语言的特点 2
1.1.3 Java的基本元素 3
1.2 面向对象编程 4
1.2.1 面向过程与面向对象 4
1.2.2 客观事物的抽象 5
1.2.3 对象和封装 5
1.2.4 类和继承 6
1.3 建立Java开发环境 6
1.3.1 下载并安装JDK 6 6
1.3.2 设置系统环境变量 8
1.4 JDK开发环境工具简介 9
1.4.1 Java编译器(javac.exe) 9
1.4.2 Java解释器(java.exe) 10
1.4.3 Applet浏览器(AppletViewer.exe) 11
1.4.4 API文件产生器(javadoc.exe) 11
1.4.5 文件归档工具(jar.exe) 12
1.4.6 头文件生成器(javah.exe) 14
1.4.7 反汇编器(javap.exe) 14
1.4.8 密钥管理工具(Keytool.exe) 15
1.4.9 转码工具(native2ascii.exe) 16
1.5 编译执行第一个Java程序 17
1.5.1 Java应用程序 18
1.5.2 Java Applet 18
1.6 本章小结 20
1.7 思考和练习 20
第2章 Java基本语法 21
2.1 标识符和关键字 21
2.1.1 标识符 21
2.1.2 关键字 22
2.2 数据类型、常量和变量 23
2.2.1 数据类型 23
2.2.2 常量 24
2.2.3 变量 25
2.2.4 赋值和数据类型转换 28
2.3 运算符和表达式 30
2.3.1 算术运算符和算术表达式 30
2.3.2 关系运算符和关系表达式 33
2.3.3 逻辑运算符和逻辑表达式 35
2.3.4 位运算符和位表达式 36
2.3.5 赋值运算符和赋值表达式 38
2.3.6 条件运算符和条件表达式 38
2.3.7 其他运算符 39
2.3.8 运算符的优先级与结合性 39
2.4 流程控制语句 40
2.4.1 块作用域 40
2.4.2 分支语句 41
2.4.3 循环语句 45
2.4.4 转移语句 50
2.4.5 递归(recursion) 52
2.4.6 注释语句 54
2.5 本章小结 55
2.6 思考和练习 55
第3章 面向对象编程 57
3.1 类 57
3.1.1 类的声明 57
3.1.2 成员变量 59
3.1.3 成员方法 59
3.1.4 构造方法 60
3.1.5 this关键字 61
3.1.6 main()方法的特点 62
3.2 访问修饰符 63
3.2.1 访问控制 63
3.2.2 static 67
3.2.3 final修饰符 70
3.2.4 抽象类和抽象方法 72
3.2.5 内部类 73
3.3 对象创建、使用和清除 78
3.3.1 对象的创建和使用 78
3.3.2 匿名对象 78
3.3.3 对象的克隆 79
3.3.4 用finalize方法清除对象 81
3.3.5 对象的比较 81
3.4 类的继承与多态性 83
3.4.1 继承 83
3.4.2 匿名内部类 84
3.4.3 方法覆盖 86
3.4.4 方法重载 87
3.4.5 super关键字 88
3.4.6 多态性 90
3.5 接口 92
3.5.1 接口的定义 92
3.5.2 接口的实现 93
3.6 包 95
3.6.1 包声明 95
3.6.2 import语句 95
3.6.3 JDK中常用的包 97
3.7 本章小结 98
3.8 思考和练习 98
第4章 异常处理 99
4.1 Java异常处理概述 99
4.1.1 什么是异常 99
4.1.2 异常处理范例 100
4.2 异常处理类 102
4.2.1 异常处理类的层次 102
4.2.2 异常类Exception 103
4.3 异常处理 103
4.3.1 抛出异常 104
4.3.2 异常捕获 105
4.3.3 异常的嵌套处理 109
4.4 用户自定义异常 110
4.5 本章小结 111
4.6 思考和练习 112
第5章 数组和字符串类型 113
5.1 一维数组 113
5.1.1 一维数组的声明 114
5.1.2 一维数组初始化 114
5.1.3 访问数组元素 116
5.2 多维数组 118
5.2.1 二维数组的定义与初始化 118
5.2.2 访问二维数组元素 119
5.3 字符串类型 121
5.3.1 定义字符串 121
5.3.2 访问和修改字符串 123
5.4 使用StringTokenizer类 132
5.5 字符串与其他数据类型的转换 133
5.5.1 其他对象转换为字符串 133
5.5.2 字符串转换为其他对象 134
5.6 本章小结 135
5.7 思考和练习 135
第6章 基本I/O及文件操作 137
6.1 流 137
6.1.1 流的概念 137
6.1.2 输入输出流 138
6.1.3 Java中输入输出处理类的层次结构 140
6.2 File类 141
6.2.1 创建File类的对象 142
6.2.2 File类的方法 143
6.3 使用Reader类与Writer类 145
6.3.1 FileReader类和FileWriter类 146
6.3.2 BufferedReader类和BufferedWriter类 148
6.3.3 LineNumberReader类 150
6.4 RandomAccessFile类 151
6.4.1 创建RandomAccessFile对象 151
6.4.2 RandomAccessFile类的方法 152
6.5 InputStream类和OutputStream类 155
6.5.1 FilelnputStream类和FileOutputStream类 155
6.5.2 PipedlnputStream类和PipedOutputStream类 158
6.5.3 SequencelnputStream类 161
6.6 过滤流 163
6.6.1 BufferedInputStream和BufferedOuputStream 164
6.6.2 DataInputStream和DataOutputStream 165
6.7 本章小结 167
6.8 思考和练习 168
第7章 GUI编程 169
7.1 GUI 169
7.1.1 GUI概述 170
7.1.2 创建GUI程序 171
7.1.3 AWT包 173
7.2 Java事件 174
7.2.1 事件处理模型 174
7.2.2 鼠标和键盘事件 177
7.2.3 窗口事件 183
7.3 容器组件 184
7.3.1 Container类 184
7.3.2 Panel 185
7.3.3 Frame 185
7.3.4 Dialog 185
7.3.5 ScrollPane类 187
7.4 AWT包中的常用组件 188
7.4.1 Label 188
7.4.2 Button 189
7.4.3 Checkbox 190
7.4.4 Scrollbar 192
7.4.5 菜单组件 193
7.5 布局管理器 195
7.5.1 FlowLayout 196
7.5.2 BorderLayout 198
7.5.3 CardLayout 198
7.5.4 GridLayout 200
7.5.5 GridBagLayout 201
7.5.6 Swing的布局管理器 204
7.6 Swing基本组件 207
7.6.1 JFrame 207
7.6.2 JLabel 208
7.6.3 JButton、JcheckBox和JRadioButton 209
7.6.4 JTextField、JpasswordField和JTextArea 213
7.6.5 JComboBox 214
7.6.6 JList 215
7.7 Swing高级组件 219
7.7.1 面板容器 219
7.7.2 JDialog 223
7.7.3 菜单和工具条 225
7.7.4 JProgressBar组件 229
7.7.5 JFileChooser 231
7.7.6 JTable 233
7.7.7 JTree 235
7.8 本章小结 236
7.9 思考和练习 236
第8章 Java多媒体编程 237
8.1 Java绘图概述 237
8.1.1 JDK中的图形类 237
8.1.2 图形直角坐标系 238
8.1.3 Font类和Color类 238
8.2 简单图形处理 240
8.2.1 绘制规则图形 240
8.2.2 绘制多边形和折线 242
8.2.3 复制图形 244
8.2.4 显示文本 245
8.3 Java2D 246
8.3.1 Java2D图形 246
8.3.2 高级绘图效果 247
8.4 XOR绘图模式和打印图形 250
8.4.1 XOR绘图模式 250
8.4.2 打印图形 251
8.5 图像处理 253
8.5.1 装载和显示图像 253
8.5.2 生成图像 254
8.5.3 图像过滤 255
8.5.4 图像跟踪器MediaTracker 257
8.6 Java实现动画 259
8.6.1 动画技巧 259
8.6.2 动画实例 259
8.7 本章小结 262
8.8 思考和练习 262
第9章 Java Applet 263
9.1 Java Applet简介 263
9.1.1 Applet的工作原理 263
9.1.2 Applet类及其方法 264
9.2 Applet的使用技巧 269
9.2.1 设置Applet的颜色 269
9.2.2 获取Applet的显示空间大小 271
9.2.3 Applet标记与参数传递 272
9.2.4 Applet和浏览器间通信 274
9.2.5 显示状态信息 276
9.2.6 带main方法的Applet 276
9.3 使用JApplet 284
9.4 本章小结 287
9.5 思考和练习 287
第10章 Java多线程处理 289
10.1 多线程简介 289
10.1.1 进程与线程 289
10.1.2 Java的多线程 290
10.2 Java线程类与Runnable接口 291
10.2.1 Thread类 291
10.2.2 Runnable接口 292
10.2.3 如何在程序中实现多线程 293
10.3 线程管理 296
10.3.1 线程生命周期 296
10.3.2 线程调度与优先级 297
10.3.3 守护(Daemon)线程 298
10.4 线程同步与线程间通信 300
10.4.1 同步代码块 301
10.4.2 同步方法 302
10.4.3 线程间通信 303
10.5 线程组 306
10.6 本章小结 308
10.7 思考和练习 308
第11章 对象序列化 309
11.1 序列化概述 309
11.1.1 问题的引出 309
11.1.2 序列化机制 310
11.1.3 序列化的实现 310
11.2 控制序列化 313
11.2.1 处理对象流 313
11.2.2 定制序列化过程 314
11.2.3 完全定制序列化过程 316
11.2.4 可序列化类的不同版本的序列化兼容性 318
11.3 序列化应用实例 318
11.4 本章小结 321
11.5 思考和练习 322
第12章 网络编程 323
12.1 网络编程的基础知识 323
12.1.1 Internet概述 323
12.1.2 IP地址和端口号 324
12.1.3 TCP和UDP 325
12.1.4 Socket 325
12.2 Java中的网络基础类 326
12.2.1 URL类 326
12.2.2 URLConnection类 329
12.2.3 InetAddress类 330
12.3 Socket通信 331
12.3.1 Socket类和ServerSocket类 332
12.3.2 Socket通信实例 333
12.3.3 支持多客户连接的Socket通信方式 337
12.4 数据报通信 340
12.4.1 DatagramSocket类和DatagramPacket类 340
12.4.2 数据报通信实例 342
12.4.3 MulticastSocket类 344
12.5 本章小结 346
12.6 思考和练习 346
第13章 Java数据库编程 347
13.1 什么是JDBC 347
13.1.1 JDBC概述 348
13.1.2 JDBC驱动程序的4种类型 349
13.2 JDBC中主要接口和类 350
13.2.1 JDBC 4.0API包 351
13.2.2 DriverManager类 352
13.2.3 Connection接口 353
13.2.4 Statement接口 354
13.3 数据库和SQL语言基础 356
13.3.1 数据库的基本概念 357
13.3.2 结构化查询语言—SQL 358
13.4 使用JDBC访问数据库 362
13.4.1 创建数据源 362
13.4.2 与数据库建立连接 363
13.4.3 执行查询、处理查询结果 364
13.5 本章小结 367
13.6 思考和练习 367
第14章 综合应用 369
14.1 网络聊天室 369
14.1.1 服务器程序 369
14.1.2 客户端程序 378
14.1.3 运行程序 390
14.2 本章小结 391
14.3 思考和练习 391
参考文献 393