目录 1
第1部分 编程基础 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.8 Java的可移植性 5
1.3.7 Java与体系结构无关 5
1.3.6 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.4 语句 13
1.9.3 修饰符 13
1.9.2 保留字 13
1.9.1 注释 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.4 变量 21
2.3 标识符 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.1 while循环 68
3.3 循环语句 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.3 不规则数组 161
5.6.2 获取多维数组的长度 161
5.7 搜索数组 168
5.7.1 线性搜索法 168
5.7.2 对分搜索法(选学) 170
5.8 排序数组 174
5.9 复习题 177
5.10 编程练习 178
第2部分 面向对象的程序设计 180
第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.9 字符和数字转换为字符串 233
7.2.8 字符串和数组的转换 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.2 超类和子类 250
第8章 类继承和接口 250
8.1 引言 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.4 使用接口或者抽象类 315
9.5.3 使用继承和组合 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
10.1 引言 340
第10章 开始GUI编程 340
第3部分 GUI编程 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.5 将面板作为容器使用 354
10.4.5 validate和doLayout方法(选学) 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.1 事件和事件源 378
10.11 事件驱动编程 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.3 Japplet类 486
12.2.4 destroy方法 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
第13章 异常处理 540
13.1 引言 540
第4部分 开发综合项目 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.9 为applet创建线程 619
15.8.2 同步的语句 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.1 引言 721
18.2 客户机/服务器计算 721
第18章 联网技术 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.1 Collection接口中的方法 774
19.2 Collection接口和AbstractCollection类 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