《Java教程 第4版》PDF下载

  • 购买积分:14 如何计算积分?
  • 作  者:(美)Sharon Zakhour等著
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2007
  • ISBN:7115163367
  • 页数:415 页
图书介绍:本书Sun公司官方指定的Java教程最新版。书中除了讲解面向对象的编程概念、语言基础、类和对象、接口和继承、包、数字和字符串、异常、基本I/O、集合、并发、Swing、把程序打包到JAR文件中、applet,还介绍Java Web Start、平台环境和正则表达式,同时涵盖了Java平台的新特性,比如泛型。附录B中还给出如何准备Java编程语言认证(Java Programming Language Certification)考试方面的内容。此外,本书配套的网上资源还包含本书的内容(包括示例以及问题和练习的答案),以及在线Java SE指南、Java SE开发工具包(Java SE Development Kit,JDK)、相应的API规范和指导文档。

第1章 入门 1

1.1 Java技术现象 1

1.1.1 关于Java技术 1

1.1.2 Java技术能做什么 3

1.1.3 Java技术将如何改变我们的生活 3

1.2 “Hello World!”应用程序 4

1.2.1 使用NetBeans IDE编写“Hello World!” 4

1.2.2 在Microsoft Windows平台上编写“Hello World!” 9

1.2.3 在Solaris OS和Linux平台上编写“Hello World!” 12

1.3 分析“Hello World!”应用程序 15

1.3.1 源代码注释 16

1.3.2 HelloWorldApp类定义 16

1.3.3 main方法 16

1.4 常见问题(和解决方案) 17

1.4.1 编译器问题 17

1.4.2 运行时问题 18

问题和练习:入门 19

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

2.1 对象是什么 21

2.2 类是什么 22

2.3 继承是什么 24

2.4 接口是什么 24

2.5 包是什么 25

问题和练习:面向对象的编程概念 25

第3章 语言基础 27

3.1 变量 27

3.1.1 命名 28

3.1.2 基本数据类型 28

3.1.3 数组 30

3.1.4 变量小结 33

问题和练习:变量 34

3.2 操作符 34

3.2.1 赋值、算术和一元操作符 35

3.2.2 相等、关系和条件操作符 37

3.2.3 位操作符和移位操作符 39

3.2.4 操作符小结 40

问题和练习:操作符 41

3.3 表达式、语句和块 42

3.3.1 表达式 42

3.3.2 语句 42

3.3.3 块 43

问题和练习:表达式、语句和块 43

3.4 控制流语句 44

3.4.1 if-then和if-then-else语句 44

3.4.2 switch语句 45

3.4.3 while和do-while语句 47

3.4.4 for语句 48

3.4.5 分支语句 49

3.4.6 控制流语句小结 52

问题和练习:控制流语句 52

第4章 类和对象 54

4.1 类 54

4.1.1 声明类 55

4.1.2 声明成员变量 55

4.1.3 定义方法 57

4.1.4 为类提供构造器 58

4.1.5 把信息传递给方法或构造器 59

4.2 对象 62

4.2.1 创建对象 63

4.2.2 使用对象 66

4.3 关于类的更多介绍 67

4.3.1 从方法返回值 68

4.3.2 使用关键字this 69

4.3.3 控制对类成员的访问 70

4.3.4 了解实例成员和类成员 72

4.3.5 初始化字段 75

4.3.6 创建和使用类和对象的小结 76

问题和练习:类 76

问题和练习:对象 77

4.4 嵌套类 78

4.4.1 为什么使用嵌套类 78

4.4.2 静态嵌套类 79

4.4.3 内部类 79

4.4.4 内部类示例 80

4.4.5 嵌套类小结 81

问题和练习:嵌套类 82

4.5 枚举类型 83

问题和练习:枚举类型 85

4.6 注解 86

4.6.1 文档 86

4.6.2 编译器使用的注解 87

4.6.3 注解处理 88

问题和练习:注解 88

第5章 接口和继承 90

5.1 接口 90

5.1.1 Java中的接口 90

5.1.2 接口作为API 91

5.1.3 接口和多重继承 91

5.1.4 定义接口 91

5.1.5 实现接口 92

5.1.6 使用接口作为类型 93

5.1.7 重新编写接口 94

5.1.8 接口小结 95

问题和练习:接口 95

5.2 继承 95

5.2.1 Java平台类层次结构 96

5.2.2 继承示例 96

5.2.3 在子类中能进行什么操作 97

5.2.4 子类中的私有成员 98

5.2.5 对象的类型转换 98

5.2.6 覆盖和隐藏方法 99

5.2.7 隐藏字段 100

5.2.8 使用关键字super 100

5.2.9 Object作为超类 101

5.2.10 编写最终类和方法 104

5.2.11 抽象方法和抽象类 104

5.2.12 继承小结 106

问题和练习:继承 106

第6章 泛型 108

6.1 简介 108

6.2 泛型类型 109

6.3 泛型方法和构造器 111

6.4 受限类型参数 112

6.5 子类型化 113

6.6 通配符 114

6.7 类型擦除 115

6.8 泛型小结 116

问题和练习:泛型 117

第7章 包 118

7.1 创建和使用包 118

7.1.1 创建包 119

7.1.2 命名包 120

7.1.3 使用包成员 121

7.1.4 管理源文件和类文件 123

7.1.5 创建和使用包小结 124

问题和练习:创建和使用包 124

第8章 数字和字符串 126

8.1 数字 126

8.1.1 数字类 126

8.1.2 格式化数字输出 128

8.1.3 高级算术功能 131

8.1.4 数字小结 134

问题和练习:数字 134

8.2 字符 136

8.3 字符串 137

8.3.1 创建字符串 138

8.3.2 字符串长度 138

8.3.3 连接字符串 139

8.3.4 创建格式化字符串 139

8.3.5 在数字和字符串之间进行转换 140

8.3.6 处理字符串中的字符 141

8.3.7 比较字符串和部分字符串 145

8.3.8 StringBuilder类 146

8.3.9 字符和字符串小结 149

问题和练习:字符和字符串 150

第9章 异常 151

9.1 异常是什么 151

9.2 捕获或者指定需求 152

9.2.1 异常的三种类型 152

9.2.2 绕过捕获或者指定 153

9.3 捕获和处理异常 153

9.3.1 try块 154

9.3.2 catch块 154

9.3.3 finally块 155

9.3.4 结合使用 156

9.4 指定方法抛出的异常 159

9.5 如何抛出异常 159

9.5.1 throw语句 160

9.5.2 Throwable类及其子类 160

9.5.3 Error类 161

9.5.4 Exception类 161

9.5.5 链式异常 161

9.5.6 创建异常类 162

9.6 关于不可控异常的争论 163

9.7 异常的优点 164

9.7.1 优点一:把错误处理代码和“常规”代码分离开 164

9.7.2 优点二:把错误沿调用栈向上传递 165

9.7.3 优点三:对错误类型进行分组和区分 166

9.8 小结 167

问题和练习:异常 167

第10章 基本I/O 169

10.1 I/O流 169

10.1.1 字节流 170

10.1.2 字符流 171

10.1.3 缓冲流 174

10.1.4 扫描和格式化 174

10.1.5 命令行I/O 179

10.1.6 数据流 180

10.1.7 对象流 182

10.2 文件I/O 185

10.2.1 File对象 185

10.2.2 随机访问文件 187

10.3 新I/O包 189

10.4 小结 189

问题和练习:基本I/O 189

第11章 集合 190

11.1 集合简介 190

11.1.1 集合框架是什么 190

11.1.2 Java集合框架的优势 190

11.2 接口 191

11.2.1 Collection接口 192

11.2.2 Set接口 195

11.2.3 List接口 198

11.2.4 Queue接口 204

11.2.5 Map接口 206

11.2.6 对象排序 212

11.2.7 SortedSet接口 216

11.2.8 SortedMap接口 219

11.2.9 接口小结 219

问题和练习:接口 220

11.3 实现 221

11.3.1 Set实现 222

11.3.2 List实现 223

11.3.3 Map实现 224

11.3.4 Queue实现 225

11.3.5 包装器实现 226

11.3.6 简便实现 227

11.3.7 实现小结 228

问题和练习:实现 229

11.4 算法 229

11.4.1 排序 229

11.4.2 混序 231

11.4.3 常规数据操作 231

11.4.4 搜索 231

11.4.5 组合 232

11.4.6 查找极值 232

11.5 定制集合实现 232

11.5.1 编写实现的原因 232

11.5.2 如何编写定制实现 233

11.6 互操作性 234

11.6.1 兼容性 235

11.6.2 API设计 236

第12章 并发 238

12.1 进程和线程 238

12.1.1 进程 238

12.1.2 线程 238

12.2 Thread对象 239

12.2.1 定义和启动线程 239

12.2.2 使用sleep暂停执行 240

12.2.3 中断 240

12.2.4 join 241

12.2.5 SimpleThreads示例 242

12.3 同步 243

12.3.1 线程干扰 243

12.3.2 内存一致性错误 244

12.3.3 同步方法 245

12.3.4 内在锁和同步 246

12.3.5 原子访问 247

12.4 活性 247

12.4.1 死锁 247

12.4.2 饿死和活锁 248

12.5 保护块 249

12.6 不可变对象 252

12.6.1 同步类示例 252

12.6.2 定义不可变对象的策略 253

12.7 高级并发对象 255

12.7.1 Lock对象 255

12.7.2 执行器 257

12.7.3 并发集合 258

12.7.4 原子变量 259

12.8 推荐阅读 260

问题和练习:并发 260

第13章 正则表达式 262

13.1 简介 262

13.1.1 正则表达式是什么 262

13.1.2 这个包如何表示正则表达式 262

13.2 测试示例 263

13.3 字符串字面量 263

13.4 字符类 264

13.5 预定义字符类 268

13.6 量词 270

13.6.1 零长度匹配 270

13.6.2 使用量词的捕获组和字符类 273

13.6.3 greedy、reluctant和possessive量词的区别 273

13.7 捕获组 274

13.7.1 编号 274

13.7.2 反向引用 275

13.8 边界匹配器 275

13.9 Pattern类的方法 277

13.9.1 创建带有标志的模式 277

13.9.2 嵌入标志表达式 278

13.9.3 使用matches(String,CharSequence)方法 279

13.9.4 使用split(String)方法 279

13.9.5 其他工具方法 280

13.9.6 java.lang.String中和Pattren等同的方法 280

13.10 Matcher类的方法 280

13.10.1 索引方法 280

13.10.2 研究方法 281

13.10.3 替换方法 281

13.10.4 使用start和end方法 281

13.10.5 使用matches和lookingAt方法 282

13.10.6 使用replaceFirst(String)和replaceAll(String) 283

13.10.7 appendReplacement(StringBuffer,String)和appendTail(String-Buffer)方法 284

13.10.8 java.lang.String中和Matcher等同的方法 284

13.11 PatternSyntaxException类的方法 284

13.12 小结 286

13.13 附加资源 287

问题和练习:正则表达式 287

第14章 平台环境 288

14.1 配置工具 288

14.1.1 属性 288

14.1.2 命令行参数 291

14.1.3 环境变量 292

14.1.4 其他配置工具 293

14.2 系统工具 294

14.2.1 命令行I/O对象 294

14.2.2 系统属性 294

14.2.3 安全管理器 296

14.2.4 系统中的杂项方法 297

14.3 PATH和CLASSPATH 297

14.3.1 更新PATH变量(Microsoft Windows NT/2000/XP) 298

14.3.2 更新PATH变量(Solaris和Linux) 298

14.3.3 检查CLASSPATH变量(所有平台) 299

问题和练习:平台环境 299

第15章 Swing 301

15.1 Swing包概述 301

15.1.1 Swing是什么 301

15.1.2 Swing演示程序 302

15.2 Swing的特性 305

15.2.1 Swing组件的可视化指导 306

15.2.2 可插拔的界面外观 310

15.2.3 拖放和数据传输 311

15.2.4 国际化和本地化 311

15.2.5 可访问性 312

15.2.6 和桌面集成 312

15.2.7 系统托盘图标支持 313

问题和练习:图形化用户界面 313

第16章 把程序打包到JAR文件中 314

16.1 使用JAR文件:基础 314

16.1.1 创建JAR文件 315

16.1.2 查看JAR文件的内容 318

16.1.3 提取JAR文件的内容 318

16.1.4 更新JAR文件 319

16.1.5 运行JAR打包的软件 321

16.2 处理清单文件:基础 322

16.2.1 了解默认的清单 322

16.2.2 修改清单文件 322

16.2.3 设置应用程序的入口点 323

16.2.4 把类添加到JAR文件的类路径 324

16.2.5 设置包版本信息 324

16.2.6 在JAR文件中密封包 326

16.3 JAR文件的签名和验证 326

16.3.1 了解签名和验证 327

16.3.2 签名JAR文件 329

16.3.3 验证签名的JAR文件 330

16.4 使用和JAR相关的API 330

16.4.1 示例——应用程序JarRunner 330

16.4.2 JarClassLoader类 331

16.4.3 JarRunner类 333

问题和练习:JAR文件 334

第17章 Java Web Start 335

17.1 运行Java Web Start应用程序 336

17.1.1 从浏览器运行Java Web Start应用程序 336

17.1.2 从Java缓存查看器运行Java Web Start应用程序 336

17.1.3 从桌面运行Java Web Start应用程序 337

17.2 部署Java Web Start应用程序 337

17.2.1 设置Web服务器 337

17.2.2 创建JNLP文件 337

17.2.3 把应用程序放到服务器上 342

17.2.4 创建Web页面 342

17.3 开发Java Web Start应用程序 342

17.3.1 把应用程序打包到JAR文件中 342

17.3.2 读取JAR文件中的资源 343

17.3.3 不被信任的应用程序 343

17.4 JNLP API 343

17.5 Java Web Start和安全 344

17 5.1 Java Web Start安全基础 344

17.5.2 Java Web Start部署的签名JAR文件 345

17.5.3 安全和JNLP文件 345

17.5.4 HTTPS证书的动态下载 345

17.6 常见的Java Web Start问题 345

问题和练习:Java Web Start 346

第18章 applet 347

18.1 applet入门 348

18.1.1 扩展Applet或者JApplet 349

18.1.2 applet的生存周期 349

18.1.3 里程碑方法 351

18.1.4 用于绘制和事件处理的方法 352

18.1.5 用于添加UI组件的方法 354

18.1.6 applet能做什么,不能做什么 357

18.2 利用applet API的优势 357

18.2.1 查找和加载数据文件 358

18.2.2 显示简短状态字符串 359

18.2.3 在浏览器中显示文档 359

18.2.4 向其他applet发送消息 360

18.2.5 播放声音 363

18.2.6 定义和使用applet参数 365

18.2.7 使用APPLET标记 367

18.3 编写applet时的考虑事项 370

18.3.1 安全限制 370

18.3.2 创建用户界面 371

18.3.3 获得系统属性 373

18.3.4 applet中的线程 374

18.3.5 处理服务器端应用程序 376

18.4 完成applet 378

18.4.1 发布applet前的工作 378

18.4.2 圆满完成的applet 379

18.5 部署applet 380

18.5.1 一般的部署考虑事项 380

18.5.2 使用applet标记 380

18.5.3 使用object标记 380

18.5.4 使用embed标记 381

18.5.5 在混合浏览器环境中部署applet 382

18.6 解决常见的applet问题 383

问题和练习:Java applet 384

附录A java语言关键字 385

附录B java编程语言认证考试的准备 386

索引 394