《Java语言导学 原书第3版》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:Mary Campione Kathy Walrath Alison Huml著;马朝晖,陈美红译
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2005
  • ISBN:7111095855
  • 页数:368 页
图书介绍:

第1章 起步 1

1.1 关于Java技术 1

1.1.1 Java编程语言 1

1.1.2 Java平台 2

1.1.3 Java技术可以做什么 3

1.2 Java技术将如何改变我们的生活 4

1.3 第一步(Win32) 5

1.3.1 检查表 5

1.3.2 创建第一个应用程序 5

1.3.3 创建第一个applet 8

1.3.4 错误解释(Win32) 9

1.4 第一步(UNIX/Linux) 10

1.4.1 检查表 10

1.4.2 创建第一个应用程序 10

1.4.3 创建第一个applet 13

1.4.4 错误解释(UNIX/Linux) 14

1.5 第一步(MacOS) 15

1.5.1 检查表 15

1.5.2 创建第一个应用程序 15

1.5.3 创建第一个applet 19

1.5.4 错误解释(MacOS) 20

1.6 分析HelloWorld 20

1.6.1 对应用程序的解释 20

1.6.2 对applet的剖析 23

1.7 问题与练习 26

1.7.1 问题 26

1.7.2 练习 26

1.7.3 解答 27

1.8 代码样例 27

第2章 面向对象的编程概念 28

2.1 什么是对象 28

2.2 什么是消息 29

2.3 什么是类 30

2.4 什么是继承 32

2.5 什么是接口 33

2.6 如何将这些概念运用到代码中 34

2.6.1 ClickMe的源代码和applet标记 34

2.6.2 ClickMe applet中的对象 35

2.6.3 ClickMe applet中的类 35

2.6.4 ClickMe applet中的消息 36

2.6.5 ClickMe applet中的继承 36

2.6.6 ClickMe applet中的接口 37

2.6.7 API文档 38

2.7 小结 38

2.8 问题与练习 39

2.8.1 问题 39

2.8.2 练习 39

2.8.3 解答 39

2.9 代码样例 39

第3章 语言基础 41

3.1 变量 41

3.1.1 数据类型 42

3.1.2 变量名称 44

3.1.3 作用范围 44

3.1.4 变量初始化 45

3.1.5 final变量 45

3.1.6 变量的小结 46

3.1.7 问题与练习:变量 46

3.2 操作符 47

3.2.1 算术操作符 47

3.2.2 关系和条件操作符 51

3.2.3 移动和位操作符 53

3.2.4 赋值操作符 56

3.2.5 其他操作符 57

3.2.6 操作符的小结 58

3.2.7 问题与练习:操作符 59

3.3 表达式、语句和代码块 60

3.3.1 表达式 61

3.3.2 语句 62

3.3.3 代码块 63

3.3.4 表达式、语句和代码块的小结 63

3.3.5 问题与练习:表达式、语句和代码块 63

3.4 流程控制语句 64

3.4.1 while和do-while语句 65

3.4.2 for语句 66

3.4.3 if-else语句 67

3.4.4 switch语句 68

3.4.5 异常处理语句 70

3.4.6 分支语句 71

3.4.7 流程控制语句的小结 74

3.4.8 问题与练习:流程控制语句 75

3.5 代码样例 76

第4章 对象基础和简单数据对象 78

4.1 对象的生存周期 78

4.1.1 创建对象 79

4.1.2 使用对象 82

4.1.3 清除不被使用的对象 84

4.1.4 对象小结 85

4.1.5 问题与练习:对象 85

4.2 字符和字符串 86

4.2.1 字符 86

4.2.2 字符串和字符串缓冲区 88

4.2.3 创建字符串和字符串缓冲区 88

4.2.4 得到字符串或字符串缓冲区的长度 90

4.2.5 通过索引从字符串或字符串缓冲区得到字符 90

4.2.6 在字符串中搜索字符或子字符串 91

4.2.7 比较字符串和部分字符串 93

4.2.8 操作字符串 94

4.2.9 修改字符串缓冲区 95

4.2.10 字符串和编译器 96

4.2.11 字符和字符串小结 97

4.2.12 问题与练习:字符和字符串 98

4.3 数字 99

4.3.1 数字类 99

4.3.2 将字符串转换为数字 101

4.3.3 将数字转换为字符串 102

4.3.4 对数字进行格式化 103

4.3.5 用定制的格式对数字进行格式化 104

4.3.6 高级算术功能 105

4.3.7 数字小结 109

4.3.8 问题与练习:数字 109

4.4 数组 110

4.4.1 创建和使用数组 111

4.4.2 对象数组 112

4.4.3 数组的数组 113

4.4.4 复制数组 115

4.4.5 数组小结 116

4.4.6 问题与练习:数组 116

4.5 代码样例 116

第5章 类和继承 119

5.1 创建类 119

5.1.1 声明类 120

5.1.2 声明成员变量 121

5.1.3 定义方法 122

5.1.4 为类提供构造器 124

5.1.5 将信息传递给方法或构造器 125

5.1.6 从方法返回值 127

5.1.7 使用this关键字 128

5.1.8 控制对类成员的访问 128

5.1.9 理解实例和类成员 132

5.1.10 实例和类成员的初始化 134

5.1.11 创建类的小结 135

5.1.12 问题与练习:创建类 136

5.2 管理继承 136

5.2.1 覆盖和隐藏方法 137

5.2.2 隐藏成员变量 139

5.2.3 使用super 139

5.2.4 使用Object的后代 140

5.2.5 编写final类和方法 142

5.2.6 编写抽象类和方法 143

5.2.7 管理继承的小结 145

5.2.8 问题与练习:管理继承 145

5.3 实现嵌套的类 146

5.3.1 内部类 147

5.3.2 关于嵌套类的其他问题 148

5.3.3 嵌套类的小结 149

5.3.4 问题与练习:嵌套类 149

5.4 代码样例 150

第6章 接口和包 152

6.1 编写和使用接口 152

6.1.1 定义接口 153

6.1.2 实现接口 154

6.1.3 将接口作为类型使用 154

6.1.4 接口不能改变 155

6.1.5 接口小结 155

6.1.6 问题与练习:接口 155

6.2 创建和使用包 156

6.2.1 创建包 157

6.2.2 命名包 157

6.2.3 使用包成员 158

6.2.4 管理源代码文件和类文件 159

6.2.5 创建和使用包的小结 161

6.2.6 问题与练习:创建和使用包 161

6.3 代码样例 162

第7章 使用异常处理错误 163

7.1 什么是异常 163

7.2 捕获或指定要求 164

7.3 捕获和处理异常 164

7.3.1 try块 165

7.3.2 catch块 166

7.3.3 finally块 166

7.3.4 结合 167

7.4 指定方法抛出的异常 170

7.5 如何抛出异常 171

7.5.1 throw语句 171

7.5.2 Throwable类及其子类 172

7.5.3 创建自己的异常类 172

7.6 运行时异常——争论 174

7.7 异常的优点 174

7.7.1 优点1:将错误处理代码与“常规”代码分离 174

7.7.2 优点2:将错误沿调用堆栈向上传递 176

7.7.3 优点3:对错误类型进行分组和区分 177

7.8 异常的小结 177

7.9 问题与练习 178

7.9.1 问题 178

7.9.2 练习 179

7.9.3 解答 179

7.10 代码样例 179

第8章 线程:同时执行多个任务 180

8.1 什么是线程 180

8.2 使用Timer和TimerTask类 182

8.2.1 停止计时器线程 183

8.2.2 重复执行任务 184

8.2.3 关于Timer的更多信息 185

8.3 定制线程的run方法 185

8.3.1 对Thread类进行子类化和覆盖run 185

8.3.2 实现Runnable接口 187

8.3.3 决定使用Runnable接口 188

8.4 线程的生存周期 188

8.4.1 创建线程 188

8.4.2 启动线程 189

8.4.3 使线程不可运行 190

8.4.4 停止线程 190

8.4.5 isAlive方法 191

8.5 理解线程优先级 191

8.5.1 400000微米线程赛跑 192

8.5.2 自私的线程 193

8.5.3 时间片 193

8.5.4 线程优先级的小结 195

8.6 线程的同步 195

8.6.1 生产者/消耗者例子 195

8.6.2 锁定对象 197

8.6.3 使用notifyAll和wait方法 198

8.6.4 运行生产者/消耗者例子 200

8.6.5 避免饿死和死锁 201

8.7 线程的分组 202

8.7.1 线程组 202

8.7.2 在组中显式地创建线程 202

8.7.3 得到线程的组 202

8.7.4 使用ThreadGroup类 203

8.8 线程的小结 206

8.8.1 线程的包支持 206

8.8.2 线程的语言支持 206

8.8.3 线程的运行时支持 206

8.9 问题与练习 207

8.10 代码样例 207

第9章 I/O:读和写 209

9.1 I/O流概述 209

9.1.1 字符流 210

9.1.2 字节流 210

9.1.3 理解I/O超类 211

9.2 使用流 212

9.2.1 如何使用文件流 213

9.2.2 如何使用管道流 215

9.2.3 如何封装流 216

9.2.4 如何联结文件 217

9.2.5 操作过滤器流 218

9.3 对象的串行化 224

9.3.1 对对象进行串行化 224

9.3.2 为类提供对象串行化 225

9.4 操作随机访问文件 227

9.4.1 使用随机访问文件 228

9.4.2 为随机访问文件编写过滤器 229

9.5 其他问题 231

9.6 读和写的小结 231

9.7 问题与练习 231

9.7.1 问题 231

9.7.2 练习 232

9.7.3 解答 232

9.8 代码样例 232

第10章 Swing用户界面 234

10.1 SwingAPI概述 234

10.2 示例1:Hello World Swing 235

10.3 示例2:SwingApplication 236

10.3.1 外观 236

10.3.2 建立按钮和标签 237

10.3.3 处理事件 238

10.3.4 在组件周围添加边框 239

10.4 示例3:CelsiusConverter 240

10.4.1 添加HTML 241

10.4.2 添加图标 241

10.5 示例4:LunarPhases 242

10.5.1 复合边框 243

10.5.2 组合框 243

10.5.3 多个图像 244

10.6 示例5:VoteDialog 244

10.6.1 单选按钮 245

10.6.2 对话框 246

10.7 布局管理 249

10.8 线程和Swing 250

10.8.1 单线程规则 251

10.8.2 如何在事件调度线程中执行代码 252

10.9 Swing组件的可视索引 253

10.10 小结 258

10.11 问题与练习 258

10.11.1 问题 258

10.11.2 练习 259

10.11.3 解答 259

10.12 代码样例 259

附录A 常见问题及其解决方案 261

附录B 用于Internet的applet 272

附录C 集合 312

附录D 被废弃的线程方法 352

附录E 参考信息 357