书籍详情
Java程序设计教程(第2版)
作者:雍俊海 编著
出版社:清华大学出版社
出版时间:2007-08-01
ISBN:9787302155799
定价:¥49.00
购买这本书可以去
内容简介
本书讲解Java程序设计知识及其编程方法,包括Java语言的基础语法、结构化程序设计、面向对象程序设计、数组、字符串、向量、哈希表、泛型、枚举、异常处理、文件和数据流、图形用户界面设计、小应用程序、线程、编程规范、网络程序设计、多媒体和图形学程序设计以及数据库程序设计等。本书的章节编排与内容以人们学习与认知过程为基础,与公司的实际需求相匹配。内容力求简明,每章都附有习题,而且在附录中包含了图、表、例程以及类和接口的页码索引,在正文中采用特殊字体突出中心词,希望使读者在轻松和欢乐之中迅速地了解与掌握Java程序设计的知识和方法,并应用到实践中去。本书内容丰富,结构合理,语言简练,而且提供了丰富的例程,既可以作为计算机专业和非计算机专业的基础教材以及Sun公司的SCJP(Java程序员认证)考试的辅导教材,也可以作为需要使用Java语言的工程人员和科技工作者的自学参考书。
作者简介
雍俊海教授博士生导师。从1991年到2000年就读于清华大学计算机科学与技术系,获学士、硕士和博士学位,美国肯塔基大学计算机系博士后。现为清华大学软件学院教授和博士生导师。参加或负责多个国家自然科学基金项目、国家863项目、973项目和美国自然科学基金项目;负责过大型商业软件的研发工作,设计并编写过大量的代码。2003年入选全国优秀博士论文,2004年入选教育部“新世纪优秀人才支持计划”,2005年获得教育部自然科学一等奖,2006年获得国家杰出青年科学基金、清华大学青年教师教学优秀奖。 2003年在清华大学开设“Java程序设计”课程,获得该课程校级教学评估成绩第一名。2004年起此课程被推选为清华大学信息学院平台课。
目录
第1章 绪论 1
1.1 历史简介 1
1.2 特点 2
1.3 开发环境的建立 3
1.4 Java程序及其执行过程 10
1.4.1 开发Java程序的工作流程 10
1.4.2 Java程序的工作原理 18
1.5 本章小结 19
习题 19
第2章 结构化程序设计 20
2.1 标识符和关键字 20
2.2 基本数据类型、直接量和变量 24
2.2.1 基本数据类型 24
2.2.2 直接量 25
2.2.3 变量 27
2.3 运算符 30
2.3.1 算术运算符 31
2.3.2 关系运算符 32
2.3.3 布尔逻辑运算符 33
2.3.4 位运算符 34
2.3.5 赋值类运算符 38
2.3.6 条件运算符 39
2.3.7 其他运算符 39
2.4 控制结构 39
2.4.1 if语句和if-else语句 40
2.4.2 switch语句 42
2.4.3 for语句 44
2.4.4 while语句 46
2.4.5 do-while语句 47
2.4.6 break语句 48
2.4.7 continue语句 49
2.5 结构化程序设计 53
2.6 本章小结 55
习题 55
第3章 面向对象程序设计 58
3.1 类、域、方法和实例对象 58
3.2 继承性 66
3.3 多态性 70
3.3.1 静态多态性 71
3.3.2 动态多态性 73
3.4 包(package) 76
3.5 封装性 81
3.6 修饰词abstract、static和final 84
3.6.1 修饰词abstract 84
3.6.2 修饰词static 85
3.6.3 修饰词final 89
3.7 接口 90
3.8 内部类 92
3.9 变量作用域范围与参数传递方式 101
3.9.1 变量作用域范围 101
3.9.2 方法调用的值传递方式 105
3.10 面向对象程序设计基本思想 109
3.11 本章小结 112
习题 113
第4章 数组、字符串、向量与哈希表 115
4.1 数组 115
4.1.1 一维数组 116
4.1.2 多维数组 118
4.2 字符串和字符串缓冲区 125
4.2.1 String 125
4.2.2 StringBuffer 137
4.3 向量 143
4.4 哈希表 148
4.4.1 哈希表的基本原理 148
4.4.2 Hashtable、HashMap和WeakHashMap 149
4.5 本章小结 154
习题 154
第5章 泛型、枚举与for语句的简化写法 158
5.1 泛型 158
5.2 枚举 164
5.3 for语句的简化写法 168
5.4 本章小结 172
习题 173
第6章 异常处理、递归和单体程序设计方法 174
6.1 异常处理 174
6.1.1 异常及其种类 174
6.1.2 异常产生 176
6.1.3 异常处理 177
6.1.4 自定义异常类型 182
6.2 递归方法 184
6.3 单体(Singleton)程序设计模式 187
6.3.1 单体程序设计模式的实现方法 187
6.3.2 单体类Runtime 190
6.4 本章小结 193
习题 193
第7章 文件与数据流 196
7.1 输入流与输出流 196
7.1.1 InputStream和FileInputStream 196
7.1.2 OutputStream和FileOutputStream 200
7.1.3 PrintStream 203
7.1.4 数据的输入流和输出流 207
7.1.5 带缓存的输入流和输出流 210
7.1.6 标准输入输出流的重定向 213
7.2 随机访问文件 215
7.3 读写器 219
7.3.1 Reader和Writer 219
7.3.2 FileReader和FileWriter 220
7.3.3 带缓存的读写器 222
7.3.4 PrintWriter 225
7.3.5 从控制台窗口读入数据 227
7.4 对象序列化 231
7.5 文件 237
7.6 本章小结 241
习题 242
第8章 Swing图形用户界面程序设计 243
8.1 组件和容器 243
8.1.1 整体介绍 243
8.1.2 JFrame和JLabel 244
8.1.3 JDialog和JOptionPane 248
8.1.4 JTextField和JPasswordField 253
8.1.5 JButton、JCheckBox和JRadioButton 255
8.1.6 JComboBox、JList、JTextArea和JScrollPane 259
8.1.7 JSlider和JPanel 262
8.2 布局管理器 265
8.2.1 FlowLayout和GridLayout 265
8.2.2 BorderLayout 267
8.2.3 BoxLayout 269
8.2.4 GridBagLayout 271
8.2.5 CardLayout 274
8.2.6 组合布局方式 276
8.2.7 自定义的布局管理器 278
8.3 事件处理模型 283
8.3.1 事件处理模型 284
8.3.2 鼠标事件处理和自定义绘制 291
8.3.3 键盘事件处理 300
8.4 高级图形用户界面 304
8.4.1 菜单 304
8.4.2 表格 313
8.4.3 多文档界面 322
8.5 本章小结 326
习题 327
第9章 小应用程序(Applet) 329
9.1 源程序 329
9.1.1 生命周期 329
9.1.2 图形用户界面 333
9.1.3 获取系统信息 338
9.2 网页标记 342
9.2.1 采用object网页标记 343
9.2.2 采用embed网页标记 344
9.2.3 采用APPLET网页标记 346
9.2.4 归档文件 347
9.2.5 小应用程序参数 352
9.3 应用程序与小应用程序 354
9.4 本章小结 359
习题 359
第10章 编程规范和程序调试 361
10.1 程序编写规范 361
10.1.1 命名规范 361
10.1.2 排版规范 364
10.1.3 语句 366
10.1.4 文件组织 368
10.2 文档注释 370
10.3 程序调试 380
10.4 本章小结 384
习题 384
第11章 多线程程序设计 385
11.1 编写线程程序 385
11.1.1 通过类Thread的子类构造线程 385
11.1.2 通过接口Runnable构造线程 388
11.1.3 后台(daemon)线程 391
11.1.4 线程组 394
11.2 线程的生命周期 396
11.3 多线程的同步处理 399
11.3.1 多线程共享内存引发的问题 399
11.3.2 多线程同步的基本原理 404
11.3.3 在多线程同步中的静态方法和非静态方法 406
11.3.4 在多线程同步中同一个实例对象的多个同步方法 410
11.3.5 同步语句块 412
11.3.6 方法wait/notify/notifyAll 421
11.4 多线程的同步问题 425
11.4.1 死锁问题 426
11.4.2 多线程同步的粒度问题 428
11.5 本章小结 430
习题 431
第12章 网络程序设计 433
12.1 统一资源定位地址(URL) 433
12.1.1 网络地址 433
12.1.2 统一资源定位地址 436
12.1.3 通过统一资源定位地址获取网络资源 438
12.2 基于TCP的网络程序设计 440
12.3 基于UDP的网络程序设计 453
12.4 基于SSL的网络程序设计 459
12.4.1 密钥和证书管理工具keytool 459
12.4.2 基于SSL的服务器端和客户端程序 474
12.4.3 自定义安全提供程序和密钥管理器 482
12.5 本章小结 495
习题 495
第13章 多媒体与图形学程序设计 497
13.1 声音加载与播放 497
13.2 图像输入输出、像素处理和图像显示 501
13.3 图形显示及字体和纹理设置 513
13.4 计算机动画 525
13.4.1 通过计时器控制动画速率 525
13.4.2 动画制作 529
13.4.3 提高动画质量 532
13.5 本章小结 536
习题 536
第14章 数据库程序设计 538
14.1 基本原理 538
14.1.1 数据库基本知识 539
14.1.2 JDBC驱动程序类型 539
14.2 Microsoft Access数据库环境建立 541
14.2.1 Microsoft Access数据库的直接操作 541
14.2.2 Microsoft Access数据库的ODBC数据源 546
14.3 数据库程序设计 549
14.3.1 数据库表操作 549
14.3.2 列操作 555
14.3.3 记录操作 564
14.4 基于SQL Server 2000的JDBC-ODBC桥数据库程序设计 573
14.4.1 SQL Server 2000数据库管理系统的安装 573
14.4.2 SQL Server 2000数据库的直接操作 580
14.4.3 SQL Server 2000的ODBC数据源 583
14.4.4 基于SQL Server 2000的JDBC-ODBC桥数据库程序设计 587
14.5 基于第四类JDBC驱动程序的数据库程序设计 590
14.5.1 基于SQL Server 2000的第四类JDBC驱动程序的安装 590
14.5.2 基于SQL Server 2000的JDBC数据库程序设计 593
14.6 数据库程序设计性能优化 595
14.6.1 预编译语句 596
14.6.2 SQL语句批处理机制 598
14.6.3 基于JNDI的数据源管理机制 600
14.7 本章小结 606
习题 606
附录一 图的索引 608
附录二 表的索引 613
附录三 例程索引 614
附录四 类和接口索引 618
参考文献 627
1.1 历史简介 1
1.2 特点 2
1.3 开发环境的建立 3
1.4 Java程序及其执行过程 10
1.4.1 开发Java程序的工作流程 10
1.4.2 Java程序的工作原理 18
1.5 本章小结 19
习题 19
第2章 结构化程序设计 20
2.1 标识符和关键字 20
2.2 基本数据类型、直接量和变量 24
2.2.1 基本数据类型 24
2.2.2 直接量 25
2.2.3 变量 27
2.3 运算符 30
2.3.1 算术运算符 31
2.3.2 关系运算符 32
2.3.3 布尔逻辑运算符 33
2.3.4 位运算符 34
2.3.5 赋值类运算符 38
2.3.6 条件运算符 39
2.3.7 其他运算符 39
2.4 控制结构 39
2.4.1 if语句和if-else语句 40
2.4.2 switch语句 42
2.4.3 for语句 44
2.4.4 while语句 46
2.4.5 do-while语句 47
2.4.6 break语句 48
2.4.7 continue语句 49
2.5 结构化程序设计 53
2.6 本章小结 55
习题 55
第3章 面向对象程序设计 58
3.1 类、域、方法和实例对象 58
3.2 继承性 66
3.3 多态性 70
3.3.1 静态多态性 71
3.3.2 动态多态性 73
3.4 包(package) 76
3.5 封装性 81
3.6 修饰词abstract、static和final 84
3.6.1 修饰词abstract 84
3.6.2 修饰词static 85
3.6.3 修饰词final 89
3.7 接口 90
3.8 内部类 92
3.9 变量作用域范围与参数传递方式 101
3.9.1 变量作用域范围 101
3.9.2 方法调用的值传递方式 105
3.10 面向对象程序设计基本思想 109
3.11 本章小结 112
习题 113
第4章 数组、字符串、向量与哈希表 115
4.1 数组 115
4.1.1 一维数组 116
4.1.2 多维数组 118
4.2 字符串和字符串缓冲区 125
4.2.1 String 125
4.2.2 StringBuffer 137
4.3 向量 143
4.4 哈希表 148
4.4.1 哈希表的基本原理 148
4.4.2 Hashtable、HashMap和WeakHashMap 149
4.5 本章小结 154
习题 154
第5章 泛型、枚举与for语句的简化写法 158
5.1 泛型 158
5.2 枚举 164
5.3 for语句的简化写法 168
5.4 本章小结 172
习题 173
第6章 异常处理、递归和单体程序设计方法 174
6.1 异常处理 174
6.1.1 异常及其种类 174
6.1.2 异常产生 176
6.1.3 异常处理 177
6.1.4 自定义异常类型 182
6.2 递归方法 184
6.3 单体(Singleton)程序设计模式 187
6.3.1 单体程序设计模式的实现方法 187
6.3.2 单体类Runtime 190
6.4 本章小结 193
习题 193
第7章 文件与数据流 196
7.1 输入流与输出流 196
7.1.1 InputStream和FileInputStream 196
7.1.2 OutputStream和FileOutputStream 200
7.1.3 PrintStream 203
7.1.4 数据的输入流和输出流 207
7.1.5 带缓存的输入流和输出流 210
7.1.6 标准输入输出流的重定向 213
7.2 随机访问文件 215
7.3 读写器 219
7.3.1 Reader和Writer 219
7.3.2 FileReader和FileWriter 220
7.3.3 带缓存的读写器 222
7.3.4 PrintWriter 225
7.3.5 从控制台窗口读入数据 227
7.4 对象序列化 231
7.5 文件 237
7.6 本章小结 241
习题 242
第8章 Swing图形用户界面程序设计 243
8.1 组件和容器 243
8.1.1 整体介绍 243
8.1.2 JFrame和JLabel 244
8.1.3 JDialog和JOptionPane 248
8.1.4 JTextField和JPasswordField 253
8.1.5 JButton、JCheckBox和JRadioButton 255
8.1.6 JComboBox、JList、JTextArea和JScrollPane 259
8.1.7 JSlider和JPanel 262
8.2 布局管理器 265
8.2.1 FlowLayout和GridLayout 265
8.2.2 BorderLayout 267
8.2.3 BoxLayout 269
8.2.4 GridBagLayout 271
8.2.5 CardLayout 274
8.2.6 组合布局方式 276
8.2.7 自定义的布局管理器 278
8.3 事件处理模型 283
8.3.1 事件处理模型 284
8.3.2 鼠标事件处理和自定义绘制 291
8.3.3 键盘事件处理 300
8.4 高级图形用户界面 304
8.4.1 菜单 304
8.4.2 表格 313
8.4.3 多文档界面 322
8.5 本章小结 326
习题 327
第9章 小应用程序(Applet) 329
9.1 源程序 329
9.1.1 生命周期 329
9.1.2 图形用户界面 333
9.1.3 获取系统信息 338
9.2 网页标记 342
9.2.1 采用object网页标记 343
9.2.2 采用embed网页标记 344
9.2.3 采用APPLET网页标记 346
9.2.4 归档文件 347
9.2.5 小应用程序参数 352
9.3 应用程序与小应用程序 354
9.4 本章小结 359
习题 359
第10章 编程规范和程序调试 361
10.1 程序编写规范 361
10.1.1 命名规范 361
10.1.2 排版规范 364
10.1.3 语句 366
10.1.4 文件组织 368
10.2 文档注释 370
10.3 程序调试 380
10.4 本章小结 384
习题 384
第11章 多线程程序设计 385
11.1 编写线程程序 385
11.1.1 通过类Thread的子类构造线程 385
11.1.2 通过接口Runnable构造线程 388
11.1.3 后台(daemon)线程 391
11.1.4 线程组 394
11.2 线程的生命周期 396
11.3 多线程的同步处理 399
11.3.1 多线程共享内存引发的问题 399
11.3.2 多线程同步的基本原理 404
11.3.3 在多线程同步中的静态方法和非静态方法 406
11.3.4 在多线程同步中同一个实例对象的多个同步方法 410
11.3.5 同步语句块 412
11.3.6 方法wait/notify/notifyAll 421
11.4 多线程的同步问题 425
11.4.1 死锁问题 426
11.4.2 多线程同步的粒度问题 428
11.5 本章小结 430
习题 431
第12章 网络程序设计 433
12.1 统一资源定位地址(URL) 433
12.1.1 网络地址 433
12.1.2 统一资源定位地址 436
12.1.3 通过统一资源定位地址获取网络资源 438
12.2 基于TCP的网络程序设计 440
12.3 基于UDP的网络程序设计 453
12.4 基于SSL的网络程序设计 459
12.4.1 密钥和证书管理工具keytool 459
12.4.2 基于SSL的服务器端和客户端程序 474
12.4.3 自定义安全提供程序和密钥管理器 482
12.5 本章小结 495
习题 495
第13章 多媒体与图形学程序设计 497
13.1 声音加载与播放 497
13.2 图像输入输出、像素处理和图像显示 501
13.3 图形显示及字体和纹理设置 513
13.4 计算机动画 525
13.4.1 通过计时器控制动画速率 525
13.4.2 动画制作 529
13.4.3 提高动画质量 532
13.5 本章小结 536
习题 536
第14章 数据库程序设计 538
14.1 基本原理 538
14.1.1 数据库基本知识 539
14.1.2 JDBC驱动程序类型 539
14.2 Microsoft Access数据库环境建立 541
14.2.1 Microsoft Access数据库的直接操作 541
14.2.2 Microsoft Access数据库的ODBC数据源 546
14.3 数据库程序设计 549
14.3.1 数据库表操作 549
14.3.2 列操作 555
14.3.3 记录操作 564
14.4 基于SQL Server 2000的JDBC-ODBC桥数据库程序设计 573
14.4.1 SQL Server 2000数据库管理系统的安装 573
14.4.2 SQL Server 2000数据库的直接操作 580
14.4.3 SQL Server 2000的ODBC数据源 583
14.4.4 基于SQL Server 2000的JDBC-ODBC桥数据库程序设计 587
14.5 基于第四类JDBC驱动程序的数据库程序设计 590
14.5.1 基于SQL Server 2000的第四类JDBC驱动程序的安装 590
14.5.2 基于SQL Server 2000的JDBC数据库程序设计 593
14.6 数据库程序设计性能优化 595
14.6.1 预编译语句 596
14.6.2 SQL语句批处理机制 598
14.6.3 基于JNDI的数据源管理机制 600
14.7 本章小结 606
习题 606
附录一 图的索引 608
附录二 表的索引 613
附录三 例程索引 614
附录四 类和接口索引 618
参考文献 627
猜您喜欢