第一部分 概念 1
第一章 Java的原理 1
1.1 简单明了 2
1.2 易学易懂 3
1.3 面向对象 4
1.4 改革创新 5
1.5 Java程序的类型 6
1.7 下一步干什么? 7
1.6 本章小结 7
第二章 Java如何实现面向对象的编程 8
2.1 应用程序是类和实例的集合 8
2.2 类和实例包含数据和行为 8
2.3 继承和接口使得类分层次 9
2.4 Java的类是基类 9
2.5.6 构造函数与析构函数 10
2.5.5 方法重载 10
2.5.4 操作符重载 10
2.5.2 封装 10
2.5.3 数组和字符串 10
2.5.1 原语 10
2.5 Java如何实现面向对象 10
2.6 本章小结 11
2.7 下一步干什么? 11
第三章 语言基础 12
3.1 建造语句块 12
3.2 执行 12
3.2.1 什么是线程? 12
3.2.2 多线程 13
3.2.3 C和C++++要求单线程 14
3.2.4 Java要求多线程 14
3.3 内存 15
3.3.1 在C和C++++中内存是你的责任 15
3.3.2 在Java中内存是系统的职责 16
3.4.1 由于返回值的错误处理 17
3.4 错误处理 17
3.4.2 由于异常的错误处理 18
3.4.3 在Java中的错误处理 18
3.5 本章小结 18
3.6 下一步干什么? 18
第四章 开发周期 19
4.1 第一个问题 19
4.1.1 C:我该如何做? 19
4.1.2 C++++和Java:我想做什么? 19
4.2 软件工程 19
4.2.1 在C和C++++中的设计过程 20
4.2.2 在C++++和Java的中设计对象 20
4.3 编译 20
4.3.1 C和C++++的机器代码(机器相关) 20
4.3.2 Java类文件和字节代码(机器无关) 21
4.4.1 执行一个C/C++++程序 22
4.4.2 解释一个Java程序 22
4.4 运行 22
4.5 组织你的项目 23
4.5.1 C和C++++的源和头文件 23
4.5.2 Java的源文件 23
4.5.3 程序包 23
4.5.4 发行API 24
4.6 本章小结 24
4.7 下一步干什么? 24
5.2 为什么是Web上的Java? 25
5.2.1 平台无关 25
5.1 改观Web 25
第五章 Java环境 25
5.2.2 可靠 26
5.2.3 安全 26
5.2.4 多线程 26
5.2.5 动态 26
5.2.6 小 26
5.2.7 标准 26
5.3 一种新的Web浏览器 27
5.5 下一步干什么? 28
5.4 本章小结 28
第二部分 快速开始 30
第六章 基于文本的应用程序 30
6.1 “Hello,World!” 30
6.1.1 main( )和参数 31
6.1.2 程序包 32
6.1.3 执行行为 32
6.2 写简单的输出 32
6.3.1 C的规模 33
6.3 读简单的输入 33
6.3.2 C++++版本 35
6.3.3 Java版本 37
6.3.4 类 37
6.3.5 实例变量 37
6.3.6 构造函数及其它方法 37
6.3.7 实例 37
6.3.8 数据类型 37
6.4 另一版本:孤立用户界面 38
6.3.9 String和StringBuffer 38
6.4.1 程序结构 40
6.4.2 错误处理 40
6.5 命令行输入 41
6.6 本章小结 41
6.7 下一步干什么? 41
第七章 图形应用程序 42
7.1 Hello,World! 42
7.1.1 图形无关 42
7.1.2 对图形Hello,World的总观 43
7.1.3 窗口层次 44
7.1.4 main()的再次访问 44
7.2 写简单的输出 45
7.3 读简单的输入 46
7.3.1 图形PlanetaryScale的总观 48
7.3.2 安排用户界面的容器及成分 49
7.3.3 一些新的方法 49
7.3.4 产生事件 49
7.5 下一步干什么? 50
7.3.5 处理事件 50
7.4 本章小结 50
第八章 Web上的小应用程序 51
8.1 Hello,World!(再一次) 51
8.1.1 可执行内容 51
8.1.2 小应用程序的生存周期 52
8.1.3 为Web准备一个Java程序 53
8.1.4 将一个小应用程序放进Web页中 53
8.1.5 运行一个小应用程序 53
8.2 一个甜点心加顶以及一层地板石蜡 54
8.3 写简单的输出 55
8.4 读简单的输入 56
8.5 继续流程 58
8.6 本章小结 59
8.7 下一步干什么? 59
9.1 定义类和创建实例 61
9.1.1 从Java的类继承 61
第三部分 细节 61
第九章 设计类 61
9.1.2 创建新实例 62
9.2 类和实例数据 62
9.2.1 访问数据 62
9.2.2 工作中必需的知识 63
9.2.3 一些基本知识 63
9.2.4 封装(Wrappers) 64
9.2.5 实例变量 64
9.2.8 静态初始化器 65
9.2.6 类变量 65
9.2.7 常量 65
9.3 类和实例方法 67
9.3.1 调用方法 67
9.3.2 实例方法 67
9.3.3 类方法 68
9.3.4 方法参数 68
9.3.5 重载方法 69
9.4.2 抽象和具体类 70
9.4.1 类层次 70
9.4 继承 70
9.4.3 接口 71
9.4.4 继承变量 73
9.4.5 重设存在的方法 73
9.4.6 强制类转换 75
9.5 组织类 76
9.5.1 创建程序包 76
9.5.2 访问类 76
9.6 原型(第1部分) 77
9.7 本章小结 80
9.8 下一步干什么? 80
第十章 实现类 81
10.1 创建实例 81
10.1.1 构造函数 81
10.1.2 =和clone() 83
10.2 使用数据类型工作 85
10.2.1 整数 85
10.2.2 浮点数 86
10.2.4 布尔型 88
10.2.3 字符型 88
10.2.5 this,super和null 89
10.2.6 变量作用域 89
10.3.2 位运算符 91
10.4 控制流 91
10.4.1 使用已经知道的 91
10.3.1 算术运算符 91
10.3 运算符 91
10.4.2 使用标号 92
10.5 原型(第2部分) 95
10.6 本章小结 99
10.7 下一步干什么? 99
第十一章 提高能力 100
11.1 数组 100
11.1.1 C/C++++中的数组 100
11.1.2 Java中的数组 101
11.1.4 数组的数组 102
11.1.3 数组和它们代表的数据类型 102
11.1.5 数组作为数据类型 104
11.1.6 转换数组 105
11.2 字符串 105
11.2.1 C/C++++中的字符串 105
11.2.2 在Java中使用String类 105
11.2.3 读写字符串 106
11.2.4 操作字符串 106
11.3 多任务 107
11.3.1 一个可能的C/C++++方法 107
11.3.2 Java中的多任务 107
11.3.3 线程 107
11.3.4 线程的生命周期 112
11.3.5 同步和监视器 113
11.3.6 避免死锁 114
11.3.7 优先级 115
11.3.8 高级同步 116
11.3.9 实现Runnable 117
11.4.1 C/C++++中的错误报告 118
11.4.2 Java中的异常 118
11.4 错误处理 118
11.4.3 finally语句块 119
11.4.4 何时处理异常 120
11.4.5 Java的异常 121
11.5 本章小结 122
11.6 下一步干什么? 122
12.1.3 预处理 123
12.1.5 条件编译 123
12.1.4 宏 123
第十二章 包含剩下的部分 123
12.1.2 引用 123
12.1.1 联合 123
12.1 你不能做什么 123
12.2.2 函数 124
12.2.1 结构和Typedef 124
12.2 替换 124
12.1.7 头文件 124
12.1.6 模板 124
12.1.8 变长参数表 124
12.2.3 引用调用 125
12.2.4 常量和预处理变量 126
12.2.5 多重继承 126
12.3 优化 126
12.3.1 释放内存 126
12.3.3 用volatile抑制优化 128
12.3.2 内联函数 128
12.4 关键字 129
12.4.1 Java的关键字总结 129
12.4.2 来自C的不再有效的关键字 131
12.4.3 来自C++++的不再有效的关键字 131
12.5 本章小结 131
12.6 下一步干什么? 132
13.1.2 六个有意义的应用程序 133
13.1.1 五个有用的程序包 133
13.1 Java的程序包和应用程序样例 133
第十三章 使用Java的程序包工作 133
13.2 更多的java.long例子 137
13.2.1 高级String例子 137
13.2.2 Math例子 139
13.2.3 其它语言类 140
13.3 图形与java.awt 140
13.3.1 定位、字体和像素 140
13.3.2 Java的布局管理器 141
13.3.3 使用GridBagLayout 146
13.3.4 实现自己的布局管理器 148
13.3.5 低级绘图 148
13.3.6 颜色 150
13.3.7 低级图形的一些例子 150
13.3.8 关于事件更多的东西 151
13.4.3 读文件 153
13.4.1 文件与目录句柄 153
13.4.2 列表文件 153
13.3.9 其它AWT类 153
13.4 文件与java.io 153
13.5 使用Java.NET进行Internet编程 155
13.5.1 高级通信 155
13.5.2 低级通信 156
13.6 Java.util中的工具 160
13.6.1 日期 160
13.6.2 向量 160
13.6.3 散列表 161
13.7 本章小结 162
13.6.4 随机数发生器 162
13.8 下一步干什么? 163
第十四章 编写Web程序 164
14.1 快速回顾 164
14.1.1 Applet子类 164
14.1.2 Applet生存周期 164
14.1.3 窗口层次 164
14.1.4 在HTML页中嵌入小应用程序 164
14.2.2 AppletContext 165
14.2 Applet类和AppletContext接口 165
14.2.1 Applet 165
14.3 传递值给小应用程序 166
14.4 特别的考虑 167
14.4.1 线程 167
14.4.2 图像 167
14.4.3 动画 167
14.4.4 声音 169
14.4.7 用户界面的变化 170
14.4.6 安全问题 170
14.4.5 标准输出 170
14.5 本章小结 171
14.6 下一步干什么 171
第四部分 附录 173
附录A 编译和运行Java应用程序 173
附录B Java源代码 176
附录C 连接Java和C 203
附录D Web资源 208