《面向对象程序设计与Java语言》PDF下载

  • 购买积分:14 如何计算积分?
  • 作  者:周晓聪等编著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2004
  • ISBN:7111138333
  • 页数:415 页
图书介绍:本书介绍了基本数据类型与控制结构等。

编者的话 1

引言 1

第1章 程序和程序设计 1

1.1 程序的基本概念 1

目录 1

1.1.1 算法 2

1.1.2 实体 3

1.1.3 程序 4

1.1.4 程序设计 5

1.2 程序设计方法与语言 6

1.2.1 早期的程序设计 6

1.2.3 面向对象程序设计 7

1.2.2 结构化程序设计 7

1.3 一个完整的Java程序 8

1.3.1 Java程序的结构 10

1.3.2 Java程序的退化结构 12

1.3.3 Java程序的运行 12

1.3.4 Java程序的调试 13

1.4 面向对象程序的构造 14

1.5 内容小结 14

1.6 思考与练习 15

1.7 上机实习题 15

2.1.2 类型的作用 17

2.1.1 类型的基本概念 17

第2章 基本数据类型 17

2.1 数据类型概述 17

2.1.3 Java语言的类型 18

2.2 程序中的单词 18

2.2.1 单词分类 18

2.2.2 保留字 19

2.2.3 标识符 19

2.2.4 程序中的空白 20

2.3.1 确定数据类型 21

2.3.2 变量的要素 21

2.3 变量与赋值 21

2.3.3 赋值运算 22

2.3.4 程序的输出 22

2.4 Java语言的简单类型 23

2.4.1 字符类型 23

2.4.2 整数类型 24

2.4.3 浮点数类型和双精度浮点数类型 24

2.4.4 布尔类型 25

2.4.5 字符串类型 25

2.4.6 符号常量 26

2.5.1 表达式的概念 27

2.5.2 算术运算 27

2.5 表达式 27

2.5.3 关系运算 28

2.5.4 逻辑运算 28

2.5.5 类型转换 29

2.5.6 一个小应用程序 30

2.6 编写简单应用程序 31

2.6.1 最简单的程序 31

2.6.2 引入变量的程序 32

2.6.3 程序的输入 33

2.6.4 完整的程序 34

2.8 思考与练习 35

2.7 内容小结 35

2.9 上机实习题 36

第3章 基本控制结构 37

3.1 简单语句 37

3.2 结构化控制结构 38

3.2.1 程序的控制结构 38

3.2.2 结构化程序设计工具 38

3.2.3 盒图与伪码 39

3.3 选择结构 41

3.3.1 不带else的if语句 41

3.3.2 带else的if语句 43

3.3.3 嵌套if语句 44

3.3.4 垂悬else问题 47

3.4.1 while语句 48

3.4 循环结构 48

3.4.2 break语句和continue语句 51

3.4.3 do while语句 54

3.4.4 for语句 56

3.5 一个应用程序例子 58

3.6 内容小结 60

3.7 思考与练习 60

3.8 上机实习题 61

4.1 例程机制 62

4.1.1 分而治之与软件重用 62

第4章 方法 62

4.1.2 Java语言的方法 63

4.1.3 两个例子 63

4.2 方法的声明与调用 66

4.2.1 方法的声明 66

4.2.2 方法的调用 67

4.2.3 方法的接口与实现 69

4.3 方法的参数 69

4.3.1 参数设计 69

4.3.2 按值调用 72

4.4 标识符的作用域 73

4.4.1 作用域规则 73

4.4.2 标识符命名冲突 74

4.5.1 数值运算 75

4.5 使用Java API 75

4.5.2 伪随机数 76

4.6 递归程序设计 77

4.6.1 简单递归程序 77

4.6.2 河内塔问题 78

4.7 内容小结 80

4.8 思考与练习 80

4.9 上机实习题 81

第5章 类与对象 83

5.1 声明一个类 83

5.1.1 类的声明 83

5.1.2 类成员的访问控制 84

5.1.3 类作用域 85

5.2 创建对象实例 86

5.2.1 对象的声明与使用 86

5.2.2 对象的初始化 88

5.2.3 静态成员 90

5.2.4 对象的参数传递方式 93

5.3 变量和对象实例的生存期 94

5.3.1 变量的生存期 95

5.3.2 对象实例的生存期 96

5.4 字符串类String 97

5.4.1 使用String类型的对象 97

5.4.2 类String的主要方法 98

5.4.3 使用字符串对象的例子 99

5.5 关于类和对象的进一步讨论 103

5.5.1 基本数据类型的包装类 103

5.5.2 抽象数据类型 103

5.5.3 设计良好的类接口 104

5.5.4 再论对象 105

5.5.5 再论Java语言的类 105

5.6 内容小结 107

5.7 思考与练习 107

5.8 上机练习题 109

6.1 使用数组变量 110

第6章 复合数据类型 110

6.1.1 数组变量的声明 111

6.1.2 访问数组元素 111

6.1.3 数组作为参数传递 113

6.2 数组应用举例 113

6.2.1 学生成绩管理 113

6.2.2 完整的程序 114

6.2.3 冒泡排序法 117

6.3 使用二维数组变量 118

6.3.1 二维数组的概念 118

6.3.2 使用二维数组 119

6.3.3 二维数组应用举例 119

6.4.2 建模 121

6.4 一个扑克牌游戏程序 121

6.4.1 分析问题 121

6.4.3 完整的程序 122

6.5 对象实例的复制与比较 125

6.5.1 对象实例的复制 125

6.5.2 对象实例的比较 130

6.6 内容小结 131

6.7 思考与练习 132

6.8 上机实习题 134

7.1.1 IS-A关系 135

7.1.2 继承机制 135

7.1 继承的基本概念 135

第7章 继承与多态 135

7.1.3 继承的作用 136

7.2 Java语言的继承机制 137

7.2.1 继承的语法 137

7.2.2 继承与成员访问控制 139

7.2.3 继承成员的调整 140

7.2.4 子类对象实例的存储组织 142

7.2.5 继承与对象初始化及收尾 144

7.2.6 继承与子类型 146

7.3 多态性的基本概念 147

7.3.1 程序的多态性 147

7.4.1 方法重载的途径 148

7.4 方法重载 148

7.3.2 表示独立性 148

7.4.2 方法重载的二义性 151

7.4.3 构造方法的重载 154

7.5 动态绑定 155

7.6 对继承和多态的进一步讨论 157

7.6.1 单继承与多继承 157

7.6.2 最终类与抽象类 158

7.6.3 类属机制 161

7.7 内容小结 162

7.8 思考与练习 163

7.9 上机实习题 169

8.1.1 接口的作用 171

第8章 接口与程序包 171

8.1 接口 171

8.1.2 接口的声明 172

8.1.3 接口与类 173

8.1.4 接口的继承 179

8.1.5 接口与多态性 181

8.2 程序包 183

8.2.1 Java程序的组织 183

8.2.2 程序包的定义 184

8.2.3 程序包的引入 186

8.2.4 包级访问控制 187

8.2.5 Java的系统程序包 188

8.3.1 嵌套类的种类 189

8.3 嵌套类 189

8.3.2 内部类 190

8.3.3 回调机制 193

8.3.4 静态类 197

8.4 内容小结 197

8.5 思考与练习 198

8.6 上机实习题 202

9.1 异常处理的基本概念 204

9.1.1 异常处理 204

第9章 异常处理与断言 204

9.1.2 异常处理的模式 205

9.2 Java语言的异常处理机制 206

9.2.1 异常的分类 206

9.2.2 Java标准异常简介 208

9.2.3 异常的捕获与处理 209

9.2.4 异常的匹配 211

9.2.5 异常处理与收尾 212

9.2.6 异常处理与构造方法 213

9.2.7 异常的转发 214

9.2.8 异常声明与方法重载 216

9.2.9 异常处理与继承机制 216

9.3.1 程序断言 220

9.3 程序断言机制 220

9.3.2 程序断言的用法 221

9.3.3 在Java语言中实现部分断言 222

9.4 内容小结 224

9.5 思考与练习 224

9.6 上机实习题 227

第10章 输入/输出流 228

10.1 输入/输出基本概念 228

10.1.1 外部设备与文件 228

10.1.2 文件的基本概念 229

10.1.3 输入/输出流 229

10.2.1 面向字节的输入流类 230

10.2 Java流系统概述 230

10.2.2 面向字节的输出流类 232

10.2.3 面向字符的输入流类 233

10.2.4 面向字符的输出流类 235

10.2.5 Java API定义的流对象 236

10.3 文件流 237

10.3.1 文件及文件目录的操作 237

10.3.2 文件内容的顺序读写 238

10.3.3 文件内容的随机读写 240

10.4 过滤器流 241

10.4.1 装饰模式 242

10.4.2 数据转换流 243

10.4.3 带行号的输入流 244

10.5 对象串行化 245

10.5.1 对象串行化的作用 245

10.5.2 对象串行化的基本方法 246

10.5.3 串行化自己的对象 247

10.6 其他类型的流简介 249

10.6.1 管道流 249

10.6.2 连接流 251

10.7 内容小结 253

10.8 思考与练习 253

10.9 上机实习题 254

11.1 对象容器的基本概念 255

第11章 对象容器 255

11.2 Java对象容器概述 256

11.2.1 Java对象容器接口及其骨架类 256

11.2.2 Java的对象容器类 258

11.2.3 支持对象容器的辅助工具 260

11.3 迭代器 261

11.3.1 迭代器设计模式 261

11.3.2 迭代器的基本用法 262

11.3.3 列表专用迭代器 263

11.3.4 旧版本的枚举接口 265

11.4 类集容器 266

11.4.1 类集容器接口 266

11.4.2 列表容器 268

11.4.3 集合容器 271

11.5 映射容器 274

11.5.1 映射容器接口 274

11.5.2 映射容器类 280

11.6 内容小结 282

11.7 思考与练习 283

11.8 上机实习题 284

第12章 图形用户界面 285

12.1 用户界面设计原则 285

12.2 Java程序的用户界面设计 286

12.2.1 Java程序的用户界面 286

12.2.3 AWT和Swing组件 287

12.2.2 GUI系统的组成 287

12.3 Swing概述 288

12.3.1 Swing组件 288

12.3.2 Swing的M-UI模式 290

12.3.3 Swing的事件处理模式 291

12.3.4 一个简单的GUI程序 292

12.3.5 类JComponent简介 296

12.4 Swing顶层容器 297

12.5 Swing中间容器 299

12.6 Swing原子控件 300

12.6.1 原子控件概述 300

12.6.2 一些简单原子控件的使用 301

12.6.3 列表的使用 306

12.6.4 菜单的使用 308

12.7 Swing的布局管理 311

12.8 编写小应用程序 312

12.8.1 Applet的特点 312

12.8.2 Applet的编程模式 313

12.8.3 Applet的编程举例 314

12.9 内容小结 316

12.10 思考与练习 316

12.11 上机实习题 317

13.1.1 关系数据库的基本概念 318

13.1 关系数据库与SQL简介 318

第13章 数据库编程初步 318

13.1.2 创建关系数据库举例 319

13.1.3 SQL简介 320

13.2 JDBC结构与原理 323

13.2.1 数据库应用的多层结构 323

13.2.2 JDBC的结构 325

13.2.3 建立使用JDBC的运行环境 326

13.3 JDBC应用入门 327

13.3.1 使用JDBC的编程模式 327

13.3.2 Java与SQL间的数据类型映射 332

13.3.3 封装与数据库访问有关的操作 333

13.4.1 分析与设计 337

13.4 数据库应用程序举例 337

13.4.2 编码实现 339

13.5 内容小结 348

13.6 思考与练习 349

13.7 上机实习题 350

第14章 多线程编程 351

14.1 线程的基本概念 351

14.1.1 什么是线程? 351

14.1.2 Java程序中的线程 351

14.2 线程生存期与线程调度 352

14.2.1 创建线程 352

14.2.2 Java程序的主线程 355

14.2.3 线程的生存期 356

14.2.4 使用yield()方法 356

14.2.5 优先级与线程调度 358

14.2.6 守护线程 360

14.3 资源共享与线程同步 361

14.3.1 线程安全性 361

14.3.2 同步代码段与锁 362

14.3.3 设计线程安全的应用程序 365

14.4 其他线程通信方式 366

14.4.1 使用sleep()方法 366

14.4.2 使用join()方法 367

14.4.3 使用wait()/notify()/notifyAll()方法 368

14.4.4 使用I/O操作 371

14.5 使用定时器 371

14.5.1 通用定时器 371

14.5.2 Swing专用定时器 373

14.6 内容小结 374

14.7 思考与练习 374

14.8 上机实习题 375

第15章 网络通信编程 376

15.1 网络通信的基本概念 376

15.1.1 通信协议 376

15.1.2 TCP与UDP 378

15.1.3 端口 379

15.1.4 Java对网络通信的支持 380

15.2 基于URL的通信 380

15.2.1 使用URL对象 380

15.2.2 使用URL连接 383

15.3 基于TCP的通信 385

15.3.1 指定主机 385

15.3.2 基于socket的C/S编程 386

15.3.3 多线程服务程序 391

15.4 典型的因特网应用 393

15.4.1 一个简单的端口扫描程序 393

15.4.2 一个简单的HTTP服务程序 394

15.4.3 一个简单的Telnet客户程序 396

15.4.4 一个简单的SMTP客户程序 398

15.5 基于UDP的通信 400

15.5.1 类DatagramPacket 400

15.5.2 类DatagramSocket 401

15.5.3 例子程序 402

15.6 内容小结 404

15.7 思考与练习 404

15.8 上机实习题 405

16.1.1 设计原则与设计模式 406

16.1.2 B.Meyer的设计原则 406

16.1 设计原则 406

第16章 相关软件技术简介 406

16.1.3 R.Martin的设计原则 407

16.2 设计模式 408

16.2.1 什么是模式? 408

16.2.2 GoF设计模式 409

16.2.3 POSA设计模式 411

16.2.4 反模式 412

16.3 分布式对象技术 412

16.3.1 进程内通信与进程间通信 413

16.3.2 实现网络通信的途径 413

16.3.3 分布式对象系统 413

16.4 内容小结 414

16.5 思考与练习 414