书籍详情
Java编程原理与实践(第4版国外计算机科学经典教材)
作者:(美)Y.Daniel Liang著;马海军,景丽等译;马海军译
出版社:清华大学出版社
出版时间:2005-08-01
ISBN:9787302109327
定价:¥99.00
购买这本书可以去
内容简介
依照使用方法的不同,本书同时适用于初学及需要进阶的学生。本书可以用作大一新生两个学期的编程科目教材及一个学期的作为第二种语言的Java科目教材,也可以作为有经验的编程人员的短期培训教材。全世界的计算机科学系、工程学系、管理信息系统系都在各种不同级别上使用本书。本书首先引入了Java编程基础知识,全面介绍了各种基础性的重要概念,以及面对对象编程的知识。然后介绍了通过使用异常处理、I/O、数据结构、国际化、多线程、多媒体和联网技术等技术,采用面向对象编程方法构建GUI应用程序和applet的知识。本书各章在上一版的基础之上全部重新进行了修订,尽量做到简洁易懂。本书适合作为Java初中级教材,也可以作为高级程序员参考资料。本书特色:以丰富的实例演示Java基本特征,全面介绍了Java编辑基础知识,深入剖析面向对象编程知识,提供了丰富的GUI编程示例,涵盖Java编程高级主题,全面包括了Level1JavaCertificationExam的主题。本书前言致指导教师Java的教学方案讲授Java有3种流行的策略。第一种是GUI优先,它将Javaapplet和GUI编程与面向对象的编程概念结合起来。第二种是对象优先,它从一开始就介绍面向对象的编程。第三种策略是基本原理优先,它是一种步进式方法,首先建立编程概念、控制语句和方法这个健全可靠的基础;然后转向图形用户界面(GUI)、applet;最后介绍异常处理、I/O、数据结构、国际化、多线程、多媒体和联网。GUI优先策略从GUI和applet开始介绍,看起来似乎更吸引人,但是它需要有面向对象编程的基础知识且对Java事件处理模型有较好的理解;因此,学生可能不能完全理解自己在做什么。对象优先策略是建立在Java是一种面向对象的编程语言,因此必须首先介绍对象这个观点。但是,这个观点忽略了用任意编程语言编写程序需要的基本技术的重要性。进一步讲,该方法在学生能够完全理解类和对象并使用它们开发有用的程序之前,不可避免地将静态变量和实例变量以及方法混淆在一起。学生在学习Java的早期阶段,同时会被面向对象编程和编程的基本规则吓倒。这是面向对象编程初学者遭受挫折的一个常见的根源。就我个人及受到同事普遍认同的经验而言,我发现学习基本逻辑以及诸如循环之类的基础编程技术对初学者来说是个难点。在过程式编程中不会编写代码的学生将不能够学习面向对象编程知识。对基本数据类型、控制语句、方法和数组的良好介绍,让学生准备好学习面向对象编程。因此,本书采用基础优先策略,以平稳的步伐介绍必需的及重要的基本概念,然后转向面向对象编程,接着使用面向对象方法创建有趣的GUI应用程序以及异常处理、I/O、数据结构、国际化、多线程、多媒体和网络applet。
作者简介
暂缺《Java编程原理与实践(第4版国外计算机科学经典教材)》作者简介
目录
第1部分 编程基础
第1章 Java简介 1
1.1 引言 1
1.2 Java的发展史 2
1.3 Java的特征 2
1.3.1 Java的简单性 2
1.3.2 Java的面向对象性 2
1.3.3 Java的分布性 3
1.3.4 Java的解释性 3
1.3.5 Java的健壮性 4
1.3.6 Java的安全性 5
1.3.7 Java与体系结构无关 5
1.3.8 Java的可移植性 5
1.3.9 Java的性能 6
1.3.10 Java的多线程性 6
1.3.11 Java的动态性 6
1.4 World Wide Web、Java及其他 7
1.5 Java语言规范 9
1.6 Java开发工具 9
1.7 一个简单的Java程序 10
1.8 创建、编译和执行Java程序 11
1.9 应用程序剖析 12
1.9.1 注释 13
1.9.2 保留字 13
1.9.3 修饰符 13
1.9.4 语句 13
1.9.5 块 14
1.9.6 类 14
1.9.7 方法 14
1.9.8 main方法 14
1.10 在消息对话框中显示文本 15
1.11 复习题 16
1.12 编程练习 17
第2章 基本数据类型及操作 18
2.1 引言 18
2.2 编写简单的程序 18
2.3 标识符 21
2.4 变量 21
2.5 赋值语句和赋值表达式 22
2.6 常量 24
2.7 数字数据类型 25
2.7.1 数字操作符 25
2.7.2 数字字面值 26
2.7.3 数学表达式 27
2.7.4 简洁操作符 27
2.8 数字类型转换 29
2.9 字符数据类型 31
2.10 布尔数据类型 33
2.11 操作符优先级和结合性 36
2.12 操作数运算次序 37
2.13 从输入对话框获得输入 38
2.14 实例分析 40
2.15 编程风格及文档编制 45
2.15.1 合适的注释和注释风格 45
2.15.2 命名惯例 46
2.15.3 合适的缩进格式和空格 46
2.15.4 块样式 46
2.15.5 代码样式示例 47
2.16 编程错误 47
2.16.1 语法错误 47
2.16.2 运行时错误 48
2.16.3 逻辑错误 49
2.17 调试 50
2.18 复习题 50
2.19 编程练习 54
第3章 控制语句 57
3.1 引言 57
3.2 选择语句 57
3.2.1 简单if语句 58
3.2.2 if…else语句 59
3.2.3 嵌套if语句 61
3.2.4 switch语句 65
3.2.5 条件表达式 67
3.3 循环语句 68
3.3.1 while循环 68
3.3.2 do-while循环 71
3.3.3 for循环 73
3.4 选择哪种循环 78
3.5 使用关键字break和continue 79
3.6 实例分析 83
3.7 复习题 90
3.8 编程练习 96
第4章 方法 100
4.1 引言 100
4.2 创建方法 100
4.3 调用方法 102
4.4 传递参数 104
4.5 重载方法 107
4.6 局部变量的作用域 109
4.7 方法抽象 110
4.8 Math类 111
4.8.1 三角函数方法 111
4.8.2 指数方法 112
4.8.3 取整方法 112
4.8.4 min、max、abs和random方法 113
4.9 实例分析 117
4.10 递归(选学) 124
4.10.1 计算阶乘 124
4.10.2 计算Fibonacci数字 127
4.10.3 河内塔问题 130
4.10.4 递归与迭代 133
4.11 复习题 134
4.12 编程练习 139
第5章 数组 142
5.1 引言 142
5.2 声明数组变量和创建数组 142
5.3 初始化和处理数组 144
5.4 给方法传递数组 149
5.5 复制数组 157
5.6 多维数组 159
5.6.1 声明多维数组的变量并创建多维数组 159
5.6.2 获取多维数组的长度 161
5.6.3 不规则数组 161
5.7 搜索数组 168
5.7.1 线性搜索法 168
5.7.2 对分搜索法(选学) 170
5.8 排序数组 174
5.9 复习题 177
5.10 编程练习 178
第2部分 面向对象的程序设计
第6章 对象和类 180
6.1 引言 180
6.2 为对象定义类 181
6.3 创建对象和对象引用变量 182
6.3.1 基本类型和引用类型变量之间的区别 183
6.3.2 无用单元收集 184
6.3.3 访问对象的数据和方法 185
6.4 构造函数 188
6.5 可见性修饰符和存取器方法 191
6.6 将对象传递给方法 194
6.7 静态变量、常量和方法 196
6.8 变量的作用域 201
6.9 关键字this 202
6.10 对象数组 203
6.11 类抽象 205
6.12 实例分析 206
6.13 Java应用程序接口 214
6.14 复习题 215
6.15 编程练习 223
第7章 字符串 227
7.1 引言 227
7.2 字符串类 227
7.2.1 构造字符串 227
7.2.2 字符串长度和检索单个字符 229
7.2.3 合并字符串 230
7.2.4 提取子串 230
7.2.5 比较字符串 231
7.2.6 字符串转换 232
7.2.7 在字符串中查找字符或者子串 232
7.2.8 字符串和数组的转换 233
7.2.9 字符和数字转换为字符串 233
7.3 Character类 235
7.4 StringBuffer类 238
7.4.1 构造字符串缓冲区 239
7.4.2 修改缓冲区中的字符串 239
7.4.3 toString、capacity、length、setLength和charAt方法 240
7.5 StringTokenizer类 242
7.6 命令行变元 244
7.6.1 向Java程序中传递变元 244
7.6.2 处理命令行变元 245
7.7 复习题 247
7.8 编程练习 248
第8章 类继承和接口 250
8.1 引言 250
8.2 超类和子类 250
8.3 使用关键字super 252
8.3.1 调用超类构造函数 253
8.3.2 调用超类方法 254
8.4 重写方法 254
8.5 Object类 256
8.5.1 equals方法 257
8.5.2 toString方法 257
8.5.3 clone方法 258
8.6 protected修饰符和final修饰符 258
8.6.1 protected修饰符 258
8.6.2 使用可见性修饰符 259
8.6.3 final修饰符 260
8.7 抽象类 260
8.8 多态性、动态绑定和通用编程 266
8.9 强制转换对象类型和instanceof操作符 268
8.10 隐藏字段和静态方法(选学) 271
8.11 接口 273
8.11.1 接口与抽象类 277
8.11.2 Cloneable接口(选学) 278
8.12 内部类 284
8.13 初始化块(选学) 285
8.14 复习题 287
8.15 编程练习 294
第9章 面向对象软件开发 296
9.1 引言 296
9.2 软件开发过程 296
9.3 分析对象间关系 297
9.3.1 关联关系 297
9.3.2 聚集关系 298
9.3.3 继承关系 299
9.4 类的开发 300
9.5 类设计原则 314
9.5.1 设计类 314
9.5.2 使用修饰符public、protected、private和static 314
9.5.3 使用继承和组合 315
9.5.4 使用接口或者抽象类 315
9.6 处理基本类型值对象 316
9.6.1 数字型包装器类构造函数 316
9.6.2 数字型包装器类常量 317
9.6.3 转换方法 317
9.6.4 静态valueof方法 318
9.6.5 将字符串转换为数字的方法 318
9.7 实例分析(选学) 321
9.8 为链表设计类(选学) 329
9.9 复习题 336
9.10 编程练习 338
第3部分 GUI编程
第10章 开始GUI编程 340
10.1 引言 340
10.2 Java GUI API 341
10.3 框架 343
10.3.1 创建框架 344
10.3.2 使框架居中(选学) 344
10.3.3 在框架内添加组件 346
10.4 布局管理器 347
10.4.1 FlowLayout 347
10.4.2 GridLayout 350
10.4.3 BorderLayout 351
10.4.4 布局管理器的属性(选学) 353
10.4.5 validate和doLayout方法(选学) 354
10.5 将面板作为容器使用 354
10.6 在面板中绘制图形 356
10.7 Color类 358
10.8 Font和FontMetrics类 358
10.9 绘制几何图形 364
10.9.1 绘制线段 364
10.9.2 绘制矩形 365
10.9.3 绘制椭圆 367
10.9.4 绘制圆弧 369
10.9.5 绘制多边形 370
10.10 实例分析 373
10.11 事件驱动编程 378
10.11.1 事件和事件源 378
10.11.2 事件注册、侦听和处理 380
10.11.3 处理事件 381
10.12 复习题 390
10.13 编程练习 391
第11章 创建用户界面 399
11.1 引言 399
11.2 Component及JComponent类 399
11.3 按钮 400
11.4 标签 405
11.5 文本域 408
11.6 文本区 411
11.7 组合框 416
11.8 列表 420
11.9 复选框 423
11.10 单选按钮 428
11.11 边界 434
11.12 JOptionPane对话框 442
11.12.1 消息对话框 443
11.12.2 确认对话框 444
11.12.3 输入对话框 445
11.12.4 选项对话框 447
11.13 菜单 450
11.13.1 创建菜单 450
11.13.2 图像图标、键盘记忆键和键盘加速键 453
11.14 创建多重窗口 458
11.15 滚动条 463
11.16 滚动面板 466
11.17 带有标签的面板 471
11.18 复习题 475
11.19 编程练习 476
第12章 applet和高级GUI 483
12.1 引言 483
12.2 applet类 483
12.2.1 init方法 485
12.2.2 start方法 485
12.2.3 stop方法 485
12.2.4 destroy方法 486
12.3 Japplet类 486
12.4 HTML文件和<applet>标记 487
12.4.1 使用applet查看器实用程序查看applet 488
12.4.2 从web浏览器查看applet 489
12.5 将参数传递到applet 493
12.6 支持applet作为应用程序运行 495
12.7 鼠标事件 498
12.8 键盘事件 504
12.9 使用序列图和状态图为动态行为建模 508
12.9.1 序列图 508
12.9.2 状态图 509
12.10 实例分析(选学) 509
12.11 事件适配器(选学) 516
12.11.1 标准适配器 517
12.11.2 匿名适配器 520
12.12 包装和部署Java项目(选学) 523
12.12.1 清单文件 524
12.12.2 运行归档项目 524
12.13 CardLayout管理器(选学) 525
12.14 GridBagLayout管理器(选学) 529
12.15 不使用布局管理器(选学) 533
12.16 复习题 535
12.17 编程练习 536
第4部分 开发综合项目
第13章 异常处理 540
13.1 引言 540
13.2 异常和异常类型 541
13.3 理解异常处理 543
13.3.1 声明异常 543
13.3.2 抛出异常 544
13.3.3 捕捉异常 544
13.4 重新抛出异常 552
13.5 finally子句 552
13.6 使用异常时的警告 553
13.7 创建自定义的异常类(选学) 553
13.8 复习题 559
13.9 编程练习 566
第14章 国际化 568
14.1 引言 568
14.2 Locale类 568
14.3 处理日期和时间 571
14.3.1 Date类 571
14.3.2 Calendar和GregorianCalendar类 571
14.3.3 TimeZone类 571
14.3.4 DateFormat类 572
14.3.5 SimpleDateFormat类 572
14.4 格式化数字 587
14.5 资源包(选学) 593
14.6 复习题 601
14.7 编程练习 602
第15章 多线程 605
15.1 引言 605
15.2 线程概念 605
15.3 通过扩展Thread类创建线程 606
15.4 通过实现Runnable接口创建线程 609
15.5 线程控制与通信 611
15.6 线程状态 612
15.7 线程组 614
15.8 同步 614
15.8.1 关键字synchronized 617
15.8.2 同步的语句 619
15.9 为applet创建线程 619
15.10 使用Timer类控制动画 625
15.11 实例分析 626
15.12 复习题 632
15.13 编程练习 633
第16章 多媒体 637
16.1 引言 637
16.2 播放音频 637
16.3 在单独的线程上运行音频 643
16.4 显示图像 645
16.5 在Java应用程序中载入图像和音频文件 649
16.6 显示一列图像 654
16.7 使用MediaTracker 658
16.8 复习题 660
16.9 编程练习 661
第17章 输入和输出 665
17.1 引言 665
17.2 流类 666
17.2.1 InputStream和Reader 667
17.2.2 OutputStream和Writer 668
17.3 File类 668
17.4 处理外部文件 672
17.5 过滤器流 675
17.6 数据流 676
17.7 打印流 679
17.8 缓冲流 682
17.9 文件对话框 686
17.10 控制台上的文本输入和输出(选学) 691
17.11 对象流 694
17.11.1 ObjectOutputStream和ObjectInputStream类 695
17.11.2 关键字transient 700
17.12 随机存取文件 701
17.13 分析文本文件(选学) 712
17.14 数组流、管道流、字符串流、回推流和行号流(选学) 716
17.15 复习题 716
17.16 编程练习 717
第18章 联网技术 721
18.1 引言 721
18.2 客户机/服务器计算 721
18.3 服务于多个客户机和
InetAddress类 728
18.4 applet客户机 733
18.5 发送和接收对象 740
18.6 URL类以及从applet浏览Web页 745
18.7 从Web服务器检索文件 747
18.8 使用JEditorPane浏览HTML文件 751
18.9 案例分析(选学) 754
18.10 复习题 770
18.11 编程练习 770
第19章 Java数据结构 773
19.1 引言 773
19.2 Collection接口和AbstractCollection类 774
19.2.1 Collection接口中的方法 774
19.2.2 hashCode方法和equals方法 775
19.3 Set接口、AbstractSet类和HashSet类 775
19.4 SortedSet接口和TreeSet类 777
19.5 Comparator接口 779
19.6 List接口、AbstractList类和AbstractSequentiaList类 781
19.7 ArrayList类和LinkedList类 782
19.8 Vector类和Stack类 784
19.9 Map接口、AbstractMap类、SortedMap接口、HashMap类和TreeMap类 790
19.10 Collection类 794
19.11 Arrays类 798
19.12 复习题 800
19.13 编程练习 801
第1章 Java简介 1
1.1 引言 1
1.2 Java的发展史 2
1.3 Java的特征 2
1.3.1 Java的简单性 2
1.3.2 Java的面向对象性 2
1.3.3 Java的分布性 3
1.3.4 Java的解释性 3
1.3.5 Java的健壮性 4
1.3.6 Java的安全性 5
1.3.7 Java与体系结构无关 5
1.3.8 Java的可移植性 5
1.3.9 Java的性能 6
1.3.10 Java的多线程性 6
1.3.11 Java的动态性 6
1.4 World Wide Web、Java及其他 7
1.5 Java语言规范 9
1.6 Java开发工具 9
1.7 一个简单的Java程序 10
1.8 创建、编译和执行Java程序 11
1.9 应用程序剖析 12
1.9.1 注释 13
1.9.2 保留字 13
1.9.3 修饰符 13
1.9.4 语句 13
1.9.5 块 14
1.9.6 类 14
1.9.7 方法 14
1.9.8 main方法 14
1.10 在消息对话框中显示文本 15
1.11 复习题 16
1.12 编程练习 17
第2章 基本数据类型及操作 18
2.1 引言 18
2.2 编写简单的程序 18
2.3 标识符 21
2.4 变量 21
2.5 赋值语句和赋值表达式 22
2.6 常量 24
2.7 数字数据类型 25
2.7.1 数字操作符 25
2.7.2 数字字面值 26
2.7.3 数学表达式 27
2.7.4 简洁操作符 27
2.8 数字类型转换 29
2.9 字符数据类型 31
2.10 布尔数据类型 33
2.11 操作符优先级和结合性 36
2.12 操作数运算次序 37
2.13 从输入对话框获得输入 38
2.14 实例分析 40
2.15 编程风格及文档编制 45
2.15.1 合适的注释和注释风格 45
2.15.2 命名惯例 46
2.15.3 合适的缩进格式和空格 46
2.15.4 块样式 46
2.15.5 代码样式示例 47
2.16 编程错误 47
2.16.1 语法错误 47
2.16.2 运行时错误 48
2.16.3 逻辑错误 49
2.17 调试 50
2.18 复习题 50
2.19 编程练习 54
第3章 控制语句 57
3.1 引言 57
3.2 选择语句 57
3.2.1 简单if语句 58
3.2.2 if…else语句 59
3.2.3 嵌套if语句 61
3.2.4 switch语句 65
3.2.5 条件表达式 67
3.3 循环语句 68
3.3.1 while循环 68
3.3.2 do-while循环 71
3.3.3 for循环 73
3.4 选择哪种循环 78
3.5 使用关键字break和continue 79
3.6 实例分析 83
3.7 复习题 90
3.8 编程练习 96
第4章 方法 100
4.1 引言 100
4.2 创建方法 100
4.3 调用方法 102
4.4 传递参数 104
4.5 重载方法 107
4.6 局部变量的作用域 109
4.7 方法抽象 110
4.8 Math类 111
4.8.1 三角函数方法 111
4.8.2 指数方法 112
4.8.3 取整方法 112
4.8.4 min、max、abs和random方法 113
4.9 实例分析 117
4.10 递归(选学) 124
4.10.1 计算阶乘 124
4.10.2 计算Fibonacci数字 127
4.10.3 河内塔问题 130
4.10.4 递归与迭代 133
4.11 复习题 134
4.12 编程练习 139
第5章 数组 142
5.1 引言 142
5.2 声明数组变量和创建数组 142
5.3 初始化和处理数组 144
5.4 给方法传递数组 149
5.5 复制数组 157
5.6 多维数组 159
5.6.1 声明多维数组的变量并创建多维数组 159
5.6.2 获取多维数组的长度 161
5.6.3 不规则数组 161
5.7 搜索数组 168
5.7.1 线性搜索法 168
5.7.2 对分搜索法(选学) 170
5.8 排序数组 174
5.9 复习题 177
5.10 编程练习 178
第2部分 面向对象的程序设计
第6章 对象和类 180
6.1 引言 180
6.2 为对象定义类 181
6.3 创建对象和对象引用变量 182
6.3.1 基本类型和引用类型变量之间的区别 183
6.3.2 无用单元收集 184
6.3.3 访问对象的数据和方法 185
6.4 构造函数 188
6.5 可见性修饰符和存取器方法 191
6.6 将对象传递给方法 194
6.7 静态变量、常量和方法 196
6.8 变量的作用域 201
6.9 关键字this 202
6.10 对象数组 203
6.11 类抽象 205
6.12 实例分析 206
6.13 Java应用程序接口 214
6.14 复习题 215
6.15 编程练习 223
第7章 字符串 227
7.1 引言 227
7.2 字符串类 227
7.2.1 构造字符串 227
7.2.2 字符串长度和检索单个字符 229
7.2.3 合并字符串 230
7.2.4 提取子串 230
7.2.5 比较字符串 231
7.2.6 字符串转换 232
7.2.7 在字符串中查找字符或者子串 232
7.2.8 字符串和数组的转换 233
7.2.9 字符和数字转换为字符串 233
7.3 Character类 235
7.4 StringBuffer类 238
7.4.1 构造字符串缓冲区 239
7.4.2 修改缓冲区中的字符串 239
7.4.3 toString、capacity、length、setLength和charAt方法 240
7.5 StringTokenizer类 242
7.6 命令行变元 244
7.6.1 向Java程序中传递变元 244
7.6.2 处理命令行变元 245
7.7 复习题 247
7.8 编程练习 248
第8章 类继承和接口 250
8.1 引言 250
8.2 超类和子类 250
8.3 使用关键字super 252
8.3.1 调用超类构造函数 253
8.3.2 调用超类方法 254
8.4 重写方法 254
8.5 Object类 256
8.5.1 equals方法 257
8.5.2 toString方法 257
8.5.3 clone方法 258
8.6 protected修饰符和final修饰符 258
8.6.1 protected修饰符 258
8.6.2 使用可见性修饰符 259
8.6.3 final修饰符 260
8.7 抽象类 260
8.8 多态性、动态绑定和通用编程 266
8.9 强制转换对象类型和instanceof操作符 268
8.10 隐藏字段和静态方法(选学) 271
8.11 接口 273
8.11.1 接口与抽象类 277
8.11.2 Cloneable接口(选学) 278
8.12 内部类 284
8.13 初始化块(选学) 285
8.14 复习题 287
8.15 编程练习 294
第9章 面向对象软件开发 296
9.1 引言 296
9.2 软件开发过程 296
9.3 分析对象间关系 297
9.3.1 关联关系 297
9.3.2 聚集关系 298
9.3.3 继承关系 299
9.4 类的开发 300
9.5 类设计原则 314
9.5.1 设计类 314
9.5.2 使用修饰符public、protected、private和static 314
9.5.3 使用继承和组合 315
9.5.4 使用接口或者抽象类 315
9.6 处理基本类型值对象 316
9.6.1 数字型包装器类构造函数 316
9.6.2 数字型包装器类常量 317
9.6.3 转换方法 317
9.6.4 静态valueof方法 318
9.6.5 将字符串转换为数字的方法 318
9.7 实例分析(选学) 321
9.8 为链表设计类(选学) 329
9.9 复习题 336
9.10 编程练习 338
第3部分 GUI编程
第10章 开始GUI编程 340
10.1 引言 340
10.2 Java GUI API 341
10.3 框架 343
10.3.1 创建框架 344
10.3.2 使框架居中(选学) 344
10.3.3 在框架内添加组件 346
10.4 布局管理器 347
10.4.1 FlowLayout 347
10.4.2 GridLayout 350
10.4.3 BorderLayout 351
10.4.4 布局管理器的属性(选学) 353
10.4.5 validate和doLayout方法(选学) 354
10.5 将面板作为容器使用 354
10.6 在面板中绘制图形 356
10.7 Color类 358
10.8 Font和FontMetrics类 358
10.9 绘制几何图形 364
10.9.1 绘制线段 364
10.9.2 绘制矩形 365
10.9.3 绘制椭圆 367
10.9.4 绘制圆弧 369
10.9.5 绘制多边形 370
10.10 实例分析 373
10.11 事件驱动编程 378
10.11.1 事件和事件源 378
10.11.2 事件注册、侦听和处理 380
10.11.3 处理事件 381
10.12 复习题 390
10.13 编程练习 391
第11章 创建用户界面 399
11.1 引言 399
11.2 Component及JComponent类 399
11.3 按钮 400
11.4 标签 405
11.5 文本域 408
11.6 文本区 411
11.7 组合框 416
11.8 列表 420
11.9 复选框 423
11.10 单选按钮 428
11.11 边界 434
11.12 JOptionPane对话框 442
11.12.1 消息对话框 443
11.12.2 确认对话框 444
11.12.3 输入对话框 445
11.12.4 选项对话框 447
11.13 菜单 450
11.13.1 创建菜单 450
11.13.2 图像图标、键盘记忆键和键盘加速键 453
11.14 创建多重窗口 458
11.15 滚动条 463
11.16 滚动面板 466
11.17 带有标签的面板 471
11.18 复习题 475
11.19 编程练习 476
第12章 applet和高级GUI 483
12.1 引言 483
12.2 applet类 483
12.2.1 init方法 485
12.2.2 start方法 485
12.2.3 stop方法 485
12.2.4 destroy方法 486
12.3 Japplet类 486
12.4 HTML文件和<applet>标记 487
12.4.1 使用applet查看器实用程序查看applet 488
12.4.2 从web浏览器查看applet 489
12.5 将参数传递到applet 493
12.6 支持applet作为应用程序运行 495
12.7 鼠标事件 498
12.8 键盘事件 504
12.9 使用序列图和状态图为动态行为建模 508
12.9.1 序列图 508
12.9.2 状态图 509
12.10 实例分析(选学) 509
12.11 事件适配器(选学) 516
12.11.1 标准适配器 517
12.11.2 匿名适配器 520
12.12 包装和部署Java项目(选学) 523
12.12.1 清单文件 524
12.12.2 运行归档项目 524
12.13 CardLayout管理器(选学) 525
12.14 GridBagLayout管理器(选学) 529
12.15 不使用布局管理器(选学) 533
12.16 复习题 535
12.17 编程练习 536
第4部分 开发综合项目
第13章 异常处理 540
13.1 引言 540
13.2 异常和异常类型 541
13.3 理解异常处理 543
13.3.1 声明异常 543
13.3.2 抛出异常 544
13.3.3 捕捉异常 544
13.4 重新抛出异常 552
13.5 finally子句 552
13.6 使用异常时的警告 553
13.7 创建自定义的异常类(选学) 553
13.8 复习题 559
13.9 编程练习 566
第14章 国际化 568
14.1 引言 568
14.2 Locale类 568
14.3 处理日期和时间 571
14.3.1 Date类 571
14.3.2 Calendar和GregorianCalendar类 571
14.3.3 TimeZone类 571
14.3.4 DateFormat类 572
14.3.5 SimpleDateFormat类 572
14.4 格式化数字 587
14.5 资源包(选学) 593
14.6 复习题 601
14.7 编程练习 602
第15章 多线程 605
15.1 引言 605
15.2 线程概念 605
15.3 通过扩展Thread类创建线程 606
15.4 通过实现Runnable接口创建线程 609
15.5 线程控制与通信 611
15.6 线程状态 612
15.7 线程组 614
15.8 同步 614
15.8.1 关键字synchronized 617
15.8.2 同步的语句 619
15.9 为applet创建线程 619
15.10 使用Timer类控制动画 625
15.11 实例分析 626
15.12 复习题 632
15.13 编程练习 633
第16章 多媒体 637
16.1 引言 637
16.2 播放音频 637
16.3 在单独的线程上运行音频 643
16.4 显示图像 645
16.5 在Java应用程序中载入图像和音频文件 649
16.6 显示一列图像 654
16.7 使用MediaTracker 658
16.8 复习题 660
16.9 编程练习 661
第17章 输入和输出 665
17.1 引言 665
17.2 流类 666
17.2.1 InputStream和Reader 667
17.2.2 OutputStream和Writer 668
17.3 File类 668
17.4 处理外部文件 672
17.5 过滤器流 675
17.6 数据流 676
17.7 打印流 679
17.8 缓冲流 682
17.9 文件对话框 686
17.10 控制台上的文本输入和输出(选学) 691
17.11 对象流 694
17.11.1 ObjectOutputStream和ObjectInputStream类 695
17.11.2 关键字transient 700
17.12 随机存取文件 701
17.13 分析文本文件(选学) 712
17.14 数组流、管道流、字符串流、回推流和行号流(选学) 716
17.15 复习题 716
17.16 编程练习 717
第18章 联网技术 721
18.1 引言 721
18.2 客户机/服务器计算 721
18.3 服务于多个客户机和
InetAddress类 728
18.4 applet客户机 733
18.5 发送和接收对象 740
18.6 URL类以及从applet浏览Web页 745
18.7 从Web服务器检索文件 747
18.8 使用JEditorPane浏览HTML文件 751
18.9 案例分析(选学) 754
18.10 复习题 770
18.11 编程练习 770
第19章 Java数据结构 773
19.1 引言 773
19.2 Collection接口和AbstractCollection类 774
19.2.1 Collection接口中的方法 774
19.2.2 hashCode方法和equals方法 775
19.3 Set接口、AbstractSet类和HashSet类 775
19.4 SortedSet接口和TreeSet类 777
19.5 Comparator接口 779
19.6 List接口、AbstractList类和AbstractSequentiaList类 781
19.7 ArrayList类和LinkedList类 782
19.8 Vector类和Stack类 784
19.9 Map接口、AbstractMap类、SortedMap接口、HashMap类和TreeMap类 790
19.10 Collection类 794
19.11 Arrays类 798
19.12 复习题 800
19.13 编程练习 801
猜您喜欢