目录 3
第1章 Java基础知识 3
1.1 计算机基础知识 3
1.1.1 计算机历史的简单回顾 4
1.1.2 未来计算机的展望 7
1.1.3 现代社会普遍应用的计算机和计算技术 9
1.1.4 计算的类型以及计算机语言的角色 10
1.1.5 硬件 10
1.1.6 软件 11
1.1.7 应用程序 13
1.1.8 操作系统 13
1.2 编程语言 14
1.2.2 开关、1和0 15
1.2.1 编程语言的定义 15
1.2.3 早期的编程语言 16
1.2.4 高级编程语言 16
1 2.5 面向对象编程 17
1.2.6 过程式编程和面向对象编程 18
1.2.7 基本语言要素 18
1.2.8 语言的区别 20
1.3 Java基础知识 21
1.3.1 Java的历史背景 21
1.3.2 Java的历史:大事表 23
1.3.3 Java的历史:关键人物 23
1.3.4 Java编程语言的应用 23
1.3.5 Java和万维网 26
1.3.6 缘何学习Java 26
1.4 Java环境基础知识 27
1.4.1 理解Java虚拟机 28
1.4.2 Java程序如何在计算机上运行 29
1.5 Java程序 30
1.5.1 组织资源编写Java程序 31
1.5.2 J2SDK 31
1.5.3 简单Java程序的要素 32
1.5.4 运行Java程序的3个步骤 33
1.6 在运行时输入Java程序所需的数据 34
1.7 理解程序错误信息 36
1.7.1 程序中错误的类型 36
1.7.2 编辑Java程序排除编译错误 36
1.7.3 编辑Java程序排除运行错误 39
1.8.1 什么是IDE 40
1.8 了解IDE 40
1.8.2 IDE举例 41
1.8.3 BlueJ IDE的基本编辑功能 42
1.8.4 BlueJ教程 43
1.8.5 案例学习:一个银行应用程序JBANK 43
1.9 小结 44
1.9.1 语法小结 45
1.9.2 资源 45
1.10 关键术语 46
1.11 检查理解 47
第2章 面向对象编程 51
2.1 面向对象编程概览 51
2.2 Java基本术语 53
2.3 什么是对象 54
2.3.1 对象简介 54
2.3.2 对象的类别 56
2.3.3 识别对象 57
2.3.4 对象的类的定义 58
2.3.5 对象的创建 59
2.3.6 对象的操作 59
2.3.7 封装 61
2.3.8 对象关系 63
2.3.9 继承 64
2.3.10 对象的易变性和对象的销毁 66
2.4 对象的描述 66
2.4.1 建模语言和符号 67
2.4.2 基本类符号 69
2.4.3 UML的其他类型的图 71
2.5 将面向对象术语应用到Java程序 75
2.5.1 类的定义 75
2.5.2 对象的创建 76
2.5.3 对象方法 77
2.6 认识java.lang.System类 78
2.7 案例学习:JBANK应用程序 80
2.7.1 为JBANK应用程序定义和建模 80
2.7.2 JavaZOO 80
2.7.3 JavaZOO概览 80
2.7.4 对象 81
2.7.5 数据类型 83
2.7.6 main方法 84
2.7.7 实例化 85
2.7.8 方法 87
2.7.9 封装 90
2.7.10 点运算符 94
2.7.12 带有返回值的方法 95
2.7.11 get方法 95
2.7.13 参数 98
2.7.14 set方法 99
2.7.15 重载方法 101
2.7.16 修改类 102
2.8 小结 110
2.8.1 语法小结 111
2.8.2 资源 111
2.9 关键术语 112
2.10 检查理解 113
第3章 Java语言要素 117
3.1 文档 117
3.1.1 编写文档的目的 118
3.1.3 学习编制类文档 119
3.1.2 伪码概述 119
3.1.4 Java中3种注释的历史沿革 121
3.1.5 javadoc的参数 121
3.1.6 Java API在线文档 123
3.1.7 用javadoc工具生成类的API文档 127
3.1.8 案例学习:JBANK应用程序 128
3.2 Java语言要素 129
3.2.1 符号概览 130
3.2.2 关键字 131
3.2.3 标识符 133
3.2.4 花括号、分号、逗号和空白符的用法 135
3.3 数据存储的位置和时间 136
3.3.1 数据存储简介 136
3.3.2 栈、堆、静态存储和常量存储 137
3.3.3 变量和数据的存储位置 140
3.4 数据类型的概念 141
3.4.1 Java语言类型 141
3.4.2 Java原始类型和存储需求 142
3.4.3 Java引用 145
3.4.4 对象数据(实例) 146
3.4.5 类数据(静态的) 148
3.4.6 方法数据(局部的) 150
3.4.7 常量 152
3.5 语法 153
3.5.1 变量 153
3.5.2 类 155
3.5.3 方法 156
3.5.4 构造方法 158
3.5.5 修饰符(public、private、protected、缺省、static和final) 159
3.6 对象创建、易变性和销毁 160
3.6.1 对象创建(构造方法) 160
3.6.2 另一个类创建对象 162
3.6.3 易变性 163
3.6.4 垃圾收集 164
3.6.5 finalizer 165
3.7 案例学:JBANK应用程序 165
3.8 小结 167
3.8.1 语法小结 168
3.8.2 资源 169
3.9 关键术语 169
3.10 检查理解 171
4.1 对象操作 177
第4章 Java语言运算符和控制结构 177
4.2 数值数据和操作 180
4.2.1 赋值运算符 180
4.2.2 算术运算符 181
4.2.3 运算符的优先级 183
4.2.4 运算符的结合性 184
4.2.5 算术运算 184
4.2.6 boolean数据 187
4.2.7 比较运算符和逻辑运算符 188
4.2.8 条件运算符 191
4.2.9 位运算符 192
4.3 强制转型和类型转换的概念 193
4.4 字符数据和String数据 194
4.4.2 String和StringBuffer类简介 195
4.4.1 字符数据类型 195
4.5 控制结构 196
4.5.1 判断和重复 197
4.5.2 逻辑 198
4.5.3 if语句 198
4.5.4 多条件if 200
4.5.5 嵌套的if 202
4.5.6 switch语句 204
4.5.7 循环 207
4.5.8 do while语句 207
4.5.9 while语句 208
4.5.10 for语句 208
4.5.11 使用break、continue和标签 209
4.6 类java.lang.System的in和out成员 211
4.7 示例代码分析 212
4.8 小结 217
4.9 关键术语 219
4.10 检查理解 221
第5章 定义和使用类 225
5.1 复习 225
5.2 创建对象的4个步骤 227
5.2.1 设计类 227
5.2.2 定义类 228
5.2.3 创建一个对象 236
5.2.4 使用对象 239
5.3 属性(类和实例) 242
5.3.1 概览 242
5.3.2 变量 244
5.3.3 实例变量 247
5.3.4 类数据和静态变量 249
5.3.5 不变性 250
5.4 封装 253
5.4.1 封装的概念 253
5.4.2 访问权限修饰符 253
5.5 构造方法 255
5.5.1 构造方法过程 255
5.5.2 缺省构造方法 257
5.5.3 定义的构造方法 258
5.6 方法类型和语法 259
5.6.1 方法语法 259
5.6.2 方法体 260
5.6.3 方法名 262
5.6.4 返回值 262
5.6.6 传值的概念 266
5.6.5 方法参数 266
5.6.7 main方法 269
5.6.8 实例方法 271
5.6.9 类方法 272
5.7 this变量 273
5.8 方法数据和封装 275
5.8.1 数据源 275
5.8.2 利用方法实现封装 276
5.9 重载 278
5.9.1 重载方法 279
5.9.2 重载构造方法 280
5.10 Java类型生存期 283
5.10.1 初始化数据 283
5.10.2 变量的作用域 286
5.10.3 对象的生存期 288
5.10.4 一个对象的易变性 291
5.10.5 对象的销毁 292
5.10.6 finalizer 294
5.1 1 案例学习:JBANK应用程序 295
5.12 小结 296
5.13 关键术语 299
5.14 检查理解 301
第6章 System、String、StringBuffer、Math和wrapper类 305
6.1 System类 305
6.1.1 使用System类实现输入和输出 305
6.1.2 使用System.in输入 307
6.1.3 使用System.out输出 311
6.2 String类 313
6.2.1 创建String对象 313
6.2.2 String方法 314
6.2.3 强制转型和类型转换 317
6.3 StringBuffer类 320
6.4 利用Console输入选择和重复 322
6.5 wrapper 325
6.5.1 wrapper类简介 325
6.5.2 wrapper类和它们的相关方法 326
6.6 Math类 331
6.7 math包 332
6.8 使用日期和随机数 337
6.8.1 创建日期 337
6.8.2 设置日期 339
6.8.3 格式化日期 340
6.8.4 随机数 342
6.9 案例学习:JBANK应用程序 344
6.10 小结 345
6.11 关键术语 348
6.12 检查理解 349
第7章 数组 355
7.1 简介 355
7.2 数组 355
7.2.1 数组简介 355
7.2.2 数组中的变量 357
7.2.3 索引 358
7.2.4 数组元素 359
7.2.5 原始数据类型的数组 359
7.2.6 对象数组 361
7.3.1 声明数组 362
7.3 声明和初始化数组 362
7.3.2 使用下标访问数组元素 364
7.4 初始化数组 365
7.4.1 原始数据类型的数组 365
7.4.2 对象数组 367
7.4.3 初始化语句块 368
7.5 使用数组 370
7.5.1 访问数组元素 370
7.5.2 向方法传递数组 373
7.5.3 使用并列数组 374
7.5.4 查找和排序数组 375
7.5.5 复用数组 380
7.6 多维数组 381
7.6.1 初始化多维数组对象 381
7.6.2 遍历多维数组 383
7.7 案例学习:JBANK应用程序 385
7.8 小结 386
7.9 关键术语 388
7.10 检查理解 389
第8章 类和继承 393
8.1 继承和面向对象编程 393
8.1.1 继承 394
8.1.2 抽象 395
8.1.3 有关多继承的问题 397
8.2 Java语言对继承的支持 399
8.2.1 继承中的Java语言关键字 399
8.2.2 Object类 400
8.3 访问权限修饰符和继承 401
8.4 覆盖 403
8.4.2 覆盖Object类的方法 404
8.4.1 方法覆盖 404
8.4.3 重载和覆盖 409
8.5 使用this和super 409
8.6 继承和构造方法 411
8.7 扩展类 414
8.7.1 抽象类 414
8.7.2 在继承中使用final 415
8.8 接口 417
8.8.1 什么是接口以及为何需要接口 417
8.8.2 接口的实现 418
8.9 多态、动态绑定和虚方法调用 419
8.9.1 多态 420
8.10 案例学习:JBANK引用程序 421
8.9.2 虚方法调用和动态方法绑定 421
8.11 小结 422
8.12 关键术语 425
8.13 检查理解 426
第9章 理解包 431
9.1 Java包 431
9.1.1 类的集合 432
9.1.2 类的载入以及类是如何工作的 433
9.2 程序中的包和名字 439
9.2.1 包对面向对象设计的3大影响 439
9.2.2 对类分包 440
9.3 访问包 443
9.4 案例学习:为银行应用程序创建包 444
9.4.1 探究API包 444
9.5.1 理解模型-视图-控制器程序 447
9.5 使用AWT 447
9.4.2 创建一个Banking包 447
9.5.2 应用继承概念 450
9.5.3 AWT层级 452
9.6 案例学习:JBANK应用程序 454
9.7 小结 454
9.8 关键术语 455
9.9 检查理解 457
第10章 使用AWT创建GUI 461
10.1 概述 461
10.2 复习AWT 462
10.3 创建GUI的步骤 466
10.3.1 设计类 466
10.3.2 创建组件 467
10.3.3 选择容器 472
10.3.4 使用布局管理器 475
10.3.5 调整组件和容器的大小 480
10.3.6 显示GUI 481
10.4 GUI的功能 481
10.4.1 事件—委托模型 481
10.4.2 事件对象 483
10.4.3 Listener类 484
10.4.4 Adapter类 487
10.4.5 内部类 488
10.4.6 匿名类 491
10.5 案例学习:银行应用程序 493
10.6 小结 494
10.7 关键术语 494
10.8 检查理解 496
11.1 applet 501
第11章 applet和图形 501
11.1.1 定义applet 502
11.1.2 启动applet 502
11.1.3 applet和安全性 509
11.1.4 嵌套一个Java applet 509
11.2 创建一个applet 511
11.3 Applet类层级 511
11.4 Applet的方法 513
11.4.1 Applet继承的方法 513
11.4.2 applet生存期方法 514
11.5 applet中的GUI组件 516
11.5.1 GUI组件 516
11.5.2 颜色 518
11.5.3 字体 519
11.5.4 其他的Applet方法 520
11.6 applet和事件驱动编程 524
11.7 图形对象 527
11.7.1 创建图形对象 527
11.7.2 绘制和重绘图形 529
11.8 案例学习:银行应用程序 530
11.9 小结 531
11.10 关键术语 532
11.11 检查理解 534
第12章 异常 539
12.1 异常背后的思想 539
12.1.1 传统异常处理方法的局限 539
12.1.2 Java平台中的错误处理 540
12.2 异常的类型 543
12.3 异常处理如何工作 544
12.4 异常对象 545
12.4.1 Throwable类 545
12.4.2 Exception及其子类 549
12.4.3 RuntimeException类 549
12.4.4 致命错误 550
12.5 处理异常 550
12.5.1 通告异常 551
12.5.2 处理并声明原则 552
12.5.3 使用try/catch语句块 554
12.5.4 制定异常 555
12.5.5 捕获多个异常 557
12.5.6 finally语句块 561
12.6.1 创建一个异常类 564
12.6 异常对象 564
12.6.2 使用用户定义的异常 566
12.6.3 处理用户定义的异常 567
12.7 构建一个方法以及执行顺序 569
12.7.1 异常语句块的顺序 569
12.7.2 执行顺序 570
12.7.3 异常被抛出时的执行顺序 570
12.7.4 异常未被捕获时的执行顺序 571
12.7.5 嵌套的try语句块 572
12.7.6 重抛异常 573
12.8 重载和异常 574
12.9 案例学习:JBANK银行应用程序 576
12.10 小结 577
12.11 关键术语 579
12.12 检查理解 580
第13章 文件、流、输入和输出 585
13.1 理解文件 586
13.1.1 File类 586
13.1.2 RandomAccessFile类 591
13.2 输入和输出类 593
13.2.1 I/O类层级 594
13.2.2 理解流 595
13.2.3 低级别流和高级别流 597
13.3 输入和输出操作简介 604
13.4 把对象存储到一个文件 607
13.4.1 序列化 607
13.4.2 写入和读取对象 609
13.5 案例学习:JBANK应用程序 610
13.6 小结 611
13.7 关键术语 612
13.8 检查理解 614
第14章 集合 619
14.1 java.uitl包 619
14.2 集合 621
14.2.1 理解集合 621
14.2.2 集合存储技术 622
14.2.3 集合的属性 624
14.2.4 集合的类型 624
14.3 集合框架 626
14.3.1 概览 627
14.3.2 Collection接口 627
14.3.3 Collection类 629
14.3.4 Set对象 630
14.3.5 List对象 633
14.3.6 Map对象 637
14.3.7 迭代器 642
14.3.8 排序和打乱列表对象 645
14.4 案例学习:JBANK应用程序 647
14.5 小结 648
14.6 关键术语 652
14.7 检查理解 654
第15章 线程 659
15.1 线程和多线程 659
15.1.1 理解线程和多线程 660
15.1.2 多处理器 663
15.2 Thread类和Runnable接口 663
15.2.1 Thread类 663
15.2.3 Thread类的方法 664
15.2.2 Runnable接口 664
15.3 创建和运行线程 665
15.3.1 run()方法 665
15.3.2 运行线程 667
15.4 线程的生存期 668
15.5 管理线程 670
15.5.1 阻塞状态 670
15.5.2 线程调度 672
15.5.3 终止线程 673
15.5.4 同步和死锁 675
15.5.5 线程间的通信 677
15.5.6 线程控制方法表 679
15.6 小结 679
15.7 关键术语 681
15.8 检查理解 683