第一章 Java概述 1
1.1 Java技术的出现与形成 1
1.1.1 Java技术的发展 1
1.1.2 Java技术的应用 2
1.2 Java语言的特色 3
1.2.1 Java语言的特点 3
1.2.2 Java程序的工作机制 3
1.3 Java的开发和执行环境 4
1.3.1 JDK的下载和安装 4
1.3.2 JDK的环境设置 5
1.3.3 Java SE常用开发工具简介 6
1.3.4 为自己的开发准备文件夹 7
1.4 简单的Java程序及其开发方法 7
1.4.1 Java应用程序 8
1.4.2 Java小程序 9
1.5 Java程序的结构剖析 10
习题一 11
第二章 面向对象基础知识 12
2.1 面向对象程序设计概述 12
2.2 对象 14
2.3 消息 15
2.4 类 15
2.5 类成员与实例成员 16
2.6 继承 17
2.6.1 继承的定义 17
2.6.2 继承的优越性 18
2.7 抽象与封装 18
2.7.1 抽象 18
2.7.2 封装 19
2.8 多态性 19
习题二 20
第三章 Java语言基础 21
3.1 数据和数据类型 21
3.1.1 数据类型概述 21
3.1.2 常量与变量 22
3.1.3 基本类型 22
3.2 运算符 26
3.2.1 算术运算符 26
3.2.2 关系运算符和逻辑运算符 28
3.2.3 位运算符 31
3.2.4 赋值运算符 32
3.2.5 条件运算符 33
3.2.6 字符串连接运算符 33
3.2.7 new运算符 34
3.2.8 instanceof运算符 34
3.3 常用Java数值计算方法 34
3.4 表达式和语句 35
3.4.1 表达式 35
3.4.2 语句 39
3.5 输入输出初步 40
3.5.1 标准输出 40
3.5.2 标准输入 41
3.6 控制语句 42
3.6.1 if语句 42
3.6.2 switch语句 45
3.6.3 while语句和do-while语句 47
3.6.4 for语句 49
3.6.5 跳转语句 52
3.7 数组 56
3.7.1 数组的创建和使用 56
3.7.2 对象数组 58
3.7.3 多维数组 62
3.7.4 数组操作的常用方法 65
习题三 68
第四章 类与对象 72
4.1 类与对象的创建 72
4.1.1 类的定义 72
4.1.2 创建对象和构造方法 75
4.1.3 销毁对象与垃圾回收 79
4.2 类成员的定义 80
4.2.1 成员变量的定义 81
4.2.2 成员方法的定义 81
4.2.3 变量的作用域 86
4.3 类的访问与封装 87
4.3.1 访问成员变量与成员方法 87
4.3.2 成员的访问权限的控制 89
4.3.3 静态成员变量与静态成员方法 94
习题四 99
第五章 继承与多态 100
5.1 继承性 100
5.1.1 类的继承层次 100
5.1.2 继承与构造方法 104
5.1.3 抽象与终结 106
5.1.4 Java的基类Object 108
5.2 多态性 112
5.2.1 重载实现多态性 112
5.2.2 覆盖实现多态性 115
5.3 接口与多态 120
5.3.1 多级继承与多重继承 120
5.3.2 接口 121
5.4 利用抽象类、接口和Object类实现多态性下的计算 122
5.4.1 用抽象类实现多种形状面积的累加 122
5.4.2 用接口实现多种形状面积的累加 123
5.4.3 用一个Object数组实现多种形状面积的累加 126
5.5 包 127
5.5.1 Java平台定义的包 128
5.5.2 包的创建 128
5.5.3 包的使用 129
5.5.4 编译和生成包 130
习题五 130
第六章 Java自定义的常用数据结构 132
6.1 String类 132
6.1.1 String类字符串的定义 132
6.1.2 String类的常用方法及其应用 134
6.1.3 命令行参数 140
6.2 StringBuffer类 142
6.2.1 StringBuffer类的定义 142
6.2.2 StringBuffer类的常用方法及其应用 143
6.3 Vector<E>类 147
6.3.1 Vecor类的定义 147
6.3.2 Vector类的常用方法及其应用 147
6.4 List 149
6.4.1 LinkedList类 149
6.4.2 ArrayList类 151
6.5 Set接口 151
6.5.1 HashSet<E>类 151
6.5.2 TreeSet<E>类 152
习题六 153
第七章 异常处理 156
7.1 Java中出错类型 156
7.1.1 异常的概念 156
7.1.2 异常类的层次和主要子类 157
7.1.3 Exception异常类的方法 158
7.2 异常的抛出 159
7.3 异常的处理 160
7.3.1 运行时异常 160
7.3.2 try-catch-finally语句 160
7.3.3 throw语句和throws子句 162
7.4 Finally子句 163
7.5 创建自己的异常 165
习题七 166
第八章 图形用户界面设计 168
8.1 抽象窗口工具(AWT)简介 168
8.2 基本的窗口类 169
8.2.1 Frame类 169
8.2.2 Window类 169
8.2.3 Container类 169
8.2.4 Panel类 170
8.2.5 Dialog 170
8.2.6 简单窗口举例 170
8.3 简单的GUI构件类 172
8.3.1 Button类 172
8.3.2 TextField类 172
8.3.3 Label类 173
8.3.4 TextArea类 173
8.3.5 List类 173
8.4 简单的事件处理 174
8.4.1 动作事件响应的一般步骤 175
8.4.2 ActionListener接口 175
8.5 事件类型及其处理 177
8.5.1 事件源 177
8.5.2 事件监听接口 179
8.5.3 低级事件处理 179
8.5.4 高级事件(语义事件) 188
8.5.5 事件、事件源与监听接口 196
8.5.6 监听接口适配器 198
8.6 布局管理 199
8.6.1 FlowLayout 199
8.6.2 BorderLayout 199
8.6.3 GridLayout 201
8.6.4 CardLayout 203
8.6.5 GridBagLayout 205
8.7 菜单系统 209
8.8 对话框 212
8.8.1 Dialog类 212
8.8.2 FileDialog类 214
8.9 图形类与图形的绘制 217
8.9.1 画线 217
8.9.2 画矩形 222
8.9.3 设置色彩和画其他图形 225
8.10 AWT与Swing 228
习题八 230
第九章 流和文件 231
9.1 流的基本概念 231
9.2 文件类及其操作 233
9.2.1 建立与删除文件 234
9.2.2 获取文件或目录属性 234
9.2.3 获取目录成员 236
9.2.4 文件名过滤 237
9.3 字节级输入输出类 239
9.3.1 文件输入流(FileInputStream) 241
9.3.2 文件输出流(FileOutputStream) 242
9.3.3 字节数组输入流(ByteArrayInputStream) 244
9.3.4 字节数组输出流(ByteArrayOutputStream) 245
9.3.5 回退输入字节流(PushbackInputStream) 247
9.3.6 数据输出流(DataOutputStream) 249
9.3.7 数据输入流(DataInputStream) 251
9.3.8 缓存输出流(BufferedOutputStream) 252
9.3.9 缓存输入流(BufferedInputStream) 254
9.3.10 格式化输出流(PrintStream) 256
9.4 字符级输入输出类 257
9.4.1 字符输入流(Reader) 259
9.4.2 字符输出流(Writer) 259
9.4.3 FileReader类 260
9.4.4 BufferedReader类 260
9.4.5 FileWriter类 262
9.4.6 BufferedWriter类 262
9.4.7 PrintWriter类 263
9.4.8 读取字符数组类(CharArrayReader) 265
9.4.9 写字符数组类(CharArrayWriter) 266
9.4.10 回退输入字符流(PushbackReader) 268
9.5 流的标记分解类(StreamTokenizer) 270
9.6 对象级输入输出类 272
9.6.1 Serializable接口 272
9.6.2 对象输出流(ObjectOutputStream) 273
9.6.3 对象类输入流(ObjectInputStream) 274
9.7 RandomAccessFile 276
9.8 系统I/O流 278
习题九 281
第十章 Applet 283
10.1 Applet的基本概念 283
10.1.1 Applet的构架 283
10.1.2 Applet类的实例变量 285
10.1.3 Applet类的成员方法 285
10.1.4 Applet的生命周期 286
10.2 Applet标记 288
10.2.1 Applet标记中的属性 288
10.2.2 利用标记向Applet传递参数 290
10.3 Applet的安全限制与文件读取方法 292
10.3.1 统一资源定位器URL 293
10.3.2 获取URL 293
10.3.3 使用URL载入数据 296
10.4 Applet环境与状态显示 298
10.5 Applet的绘图与控制 303
10.5.1 在Applet中利用Graphics类绘图 303
10.5.2 在Applet显示与更新 307
10.5.3 在Applet中加入控制项 309
习题十 315
第十一章 多线程程序设计 317
11.1 线程的基本概念 317
11.1.1 线程类Thread 317
11.1.2 线程的状态 318
11.1.3 线程的阻塞 319
11.1.4 线程的优先级 320
11.2 线程的使用方法 320
11.2.1 通过继承Thread类创建线程 320
11.2.2 通过实现Runnable接口来创建线程 322
11.3 多线程的使用方法 325
11.3.1 多线程的创建方法 325
11.3.2 判断线程是否存在 328
11.3.3 线程的合并(join) 329
11.3.4 线程的优先级的获取和设置 331
11.4 多线程的同步处理 332
11.4.1 线程synchronized方法 333
11.4.2 Applet中使用线程 335
11.4.3 线程的等待与唤起 338
习题十一 342
第十二章 Java网络编程 343
12.1 Java网络应用基础 343
12.1.1 IP地址 343
12.1.2 端口 345
12.1.3 套接字 345
12.1.4 数据包 345
12.1.5 Internet协议 346
12.2 基于URL网络应用 347
12.2.1 直接从URL读取内容 347
12.2.2 建立一个URL连接并从中读取内容 348
12.3 Socket方式实现通信 349
12.3.1 客户端Socket 350
12.3.2 服务器端Socket 350
12.3.3 简单邮件系统 357
12.3.4 目录客户/服务系统 360
12.4 Datagram方式实现通信 373
12.4.1 数据包和套节字 374
12.4.2 Datagram实现客户服务模式 375
习题十二 381
第十三章 Java数据库连接 382
13.1 JDBC概述 382
13.1.1 JDBC简介 382
13.1.2 JDBC和ODBC 383
13.2 JDBC访问数据库的方法 386
13.2.1 装载驱动程序 386
13.2.2 定义连接URL 386
13.2.3 获取数据库信息和创建接口Statement对象 387
13.2.4 执行SQL语句以访问数据库 387
13.2.5 对执行SQL语句的结果进行处理 388
13.2.6 关闭操作 389
13.3 JDBC数据库操作实例 389
13.3.1 建表和查询操作 389
13.3.2 数据库表的交互操作 391
13.3.3 数据库操作的GUI程序 393
习题十三 397
参考文献 399