《Java程序设计教程》PDF下载

  • 购买积分:14 如何计算积分?
  • 作  者:张永强,张墨华等编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2010
  • ISBN:9787302237204
  • 页数:407 页
图书介绍:本书共16章,分别讲述了 Java 的基本语法和常用算法的联系,Java 面向对象程序设计以及在 I/O、多线程、网络、数据库和 GUI 编程方面的应用。

第一部分 Java基础第1章 Java概述 3

1.1 Java技术简介 3

1.1.1 Java发展历史 3

1.1.2 Java技术的构成 4

1.1.3 为什么选择Java 5

1.2 JDK安装及配置 6

1.2.1 安装Java开发工具包 6

1.2.2 配置JDK 8

1.3 Java应用程序 10

1.3.1 简单的程序HelloWorldApp.java 10

1.3.2 编写Java应用程序需要注意的几个规则 11

1.3.3 编译和运行 12

1.3.4 排除常见的错误 12

1.4 Java的工作原理 14

1.4.1 Java运行环境 14

1.4.2 Java应用程序执行过程 15

1.4.3 Java虚拟机 17

1.4.4 自动垃圾收集 19

1.5 程序注释 19

1.6 常用开发环境 20

小结 21

习题 22

第2章 类型、变量和表达式 23

2.1 一个计算圆面积的程序 23

2.2 变量 24

2.2.1 标识符 24

2.2.2 Java关键字 25

2.2.3 基本Java类型 25

2.2.4 变量声明 26

2.2.5 变量初始化 28

2.2.6 转义字符 29

2.2.7 常量 29

2.3 运算符和表达式 30

2.3.1 运算符 30

2.3.2 算术表达式 31

2.3.3 关系和逻辑表达式 34

2.3.4 移位和位操作运算 37

2.3.5 赋值运算符 39

2.3.6 其他运算符 40

2.3.7 数学函数 40

2.3.8 字符运算 40

2.3.9 类型转换 41

2.4 字符串 43

2.4.1 字符串常量 43

2.4.2 字符串对象 43

2.4.3 字符串运算 43

2.5 基于文本的输入输出 45

2.5.1 控制台的输入 45

2.5.2 字符界面的输出 47

小结 49

习题 51

第3章 流程控制 52

3.1 句、块和空白 52

3.1.1 语句 52

3.1.2 语句块 53

3.1.3 空白 54

3.2 顺序结构 55

3.3 选择结构 56

3.3.1 if…else语句 56

3.3.2 switch语句 60

3.4 循环结构 62

3.4.1 for循环 62

3.4.2 while循环 64

3.4.3 do循环 65

3.4.4 跳转 66

3.5 嵌套的结构 68

3.6 变量的作用域 69

3.7 程序调试和排错 70

3.7.1 利用断言调试程序 70

3.7.2 常见排错方法 71

小结 73

习题 74

第4章 数组 76

4.1 数组 76

4.1.1 数组型变量的声明 76

4.1.2 为数组分配空间 77

4.1.3 初始化数组 78

4.1.4 访问数组的元素 78

4.1.5 使用增强型循环访问数组元素 79

4.2 main方法中的参数 80

4.3 多维数组 81

4.4 操作数组 83

小结 84

习题 85

第5章 算法设计基础 86

5.1 求解素数 86

5.2 查找 87

5.2.1 顺序查找 87

5.2.2 折半查找 88

5.3 排序 90

5.3.1 插入排序法 91

5.3.2 冒泡排序法 92

5.3.3 选择排序 94

5.4 递归 96

小结 99

习题 99

第二部分 Java的面向对象编程第6章 类和对象 103

6.1 面向对象概述 103

6.1.1 面向对象的基本概念 103

6.1.2 类和对象 104

6.2 使用JDK的类 104

6.3 创建自己的类 106

6.3.1 类的结构 106

6.3.2 声明一个自定义类 108

6.3.3 为类添加成员变量 110

6.3.4 为类添加方法 113

6.3.5 方法重载 118

6.3.6 构造方法 119

6.4 对象 121

6.4.1 创建对象 122

6.4.2 对象的生存周期 123

6.4.3 this 125

6.4.4 实例运算符的作用 127

6.4.5 对象特性及对象间的关系 127

6.5 static 131

6.5.1 static代码块(类初始化) 131

6.5.2 static成员变量(共享数据) 131

6.5.3 static方法(共享操作) 133

6.5.4 static加载 134

6.6 包 134

小结 136

习题 137

第7章 继承和接口 139

7.1 类的层次结构 139

7.2 创建现有类的子类 140

7.2.1 继承 140

7.2.2 使用super访问超类的构造方法 143

7.2.3 覆盖和隐藏 143

7.3 Object类、抽象类、final类 144

7.3.1 Object 144

7.3.2 抽象类 148

7.3.3 final类 149

7.4 接口 150

7.4.1 定义接口 150

7.4.2 实现接口 151

7.4.3 用接口定义变量 153

7.5 抽象类和接口 154

7.6 类型系统 156

7.6.1 动态和静态类型 156

7.6.2 多态性 156

7.6.3 类型转换 158

小结 158

习题 160

第8章 泛型、枚举和内部类 163

8.1 泛型 163

8.1.1 声明泛型类 163

8.1.2 声明泛型接口 166

8.1.3 声明泛型方法 167

8.1.4 泛型参数的限定 167

8.2 枚举 169

8.3 内部类 171

8.3.1 内部类的声明和应用 171

8.3.2 具有static修饰的内部类 172

8.3.3 局部内部类 173

8.3.4 匿名内部类 173

小结 175

习题 176

第9章 异常控制 177

9.1 异常 177

9.1.1 异常分类体系 178

9.1.2 Java程序中的常见异常 179

9.2 异常处理 181

9.2.1 捕获异常 181

9.2.2 多异常情况下的catch 183

9.2.3 捕获所有异常 184

9.2.4 finally语句 184

9.3 自定义异常 185

9.3.1 定义一个检测异常 185

9.3.2 定义一个非检测异常 186

9.4 方法声明抛出异常 186

9.4.1 方法声明中的异常 187

9.4.2 运行时环境抛出异常 187

9.4.3 开发人员编码在程序中抛出异常 188

9.4.4 多异常抛出 190

9.4.5 覆盖继承自父类的方法时的异常问题 190

9.5 异常处理的基本规则 190

9.5.1 捕获及声明异常 191

9.5.2 finally和return的关系 192

9.5.3 需要注意的其他问题 192

小结 193

习题 194

第10章 集合 196

10.1 集合框架 196

10.1.1 集合类 196

10.1.2 集合的接口 198

10.2 列表List 200

10.2.1 List的主要方法 200

10.2.2 List迭代器ListIterator 201

10.2.3 ArrayList 201

10.2.4 Vector 203

10.3 队列Queue 205

10.3.1 LinkedList 205

10.3.2 LinkedBlockingQueue 208

10.4 集 209

10.5 映射 211

10.6 构建有序集合 215

10.6.1 利用Comparable接口实现有序列表 215

10.6.2 利用Comparator接口实现有序集合 216

小结 218

习题 219

第11章 精通常用类编程 220

11.1 System 220

11.2 String与StringBuffer 221

11.2.1 字符串常量 222

11.2.2 字符串变量 222

11.2.3 字符串运算 222

11.2.4 构造格式化字符串 224

11.2.5 StringBuffer 225

11.3 日期处理 226

11.3.1 获得日期对象 226

11.3.2 创建一个日历对象——Calendar 227

11.3.3 Date和Calendar的转换 228

11.3.4 修改日历属性 228

11.3.5 格式化输出及日期型字符串解析 229

11.4 正则表达式 231

11.4.1 一个例子 231

11.4.2 字符集 232

11.4.3 查找和替换 235

11.5 Observable对象和Observer对象 237

11.6 数值的包装类 239

11.7 生成随机数 240

11.8 反射与代理 241

11.8.1 Class和反射 241

11.8.2 对象代理 245

小结 248

习题 250

第12章 基本I/O处理 252

12.1 流 252

12.1.1 什么是流 252

12.1.2 流的分类 253

12.1.3 输入流的基本方法 254

12.1.4 输出流的基本方法 255

12.2 字符流和字节流 256

12.3 结点流 257

12.4 流的处理链 258

12.4.1 过滤器流 259

12.4.2 转换流 259

12.4.3 数据输入和输出流 260

12.4.4 缓冲流 262

12.4.5 打印输出流 262

12.4.6 如何利用流编写程序 263

12.5 文件处理 263

12.5.1 File 264

12.5.2 顺序读写文件 268

12.5.3 随机读写文件 271

12.6 对象串行化 274

12.6.1 什么是串行化 274

12.6.2 可串行化的对象 274

12.6.3 对象的串行化存取 275

12.6.4 串行化的问题 277

12.7 I/O的异常处理 279

小结 279

习题 280

第13章 多线程开发 281

13.1 理解线程 281

13.2 创建线程 282

13.2.1 从Thread派生线程类 282

13.2.2 实现Runnable接口创建线程目标类 283

13.2.3 定义线程执行的任务 284

13.2.4 创建线程实例并执行 284

13.3 失控的线程 285

13.4 线程间的同步和互斥 291

13.4.1 互斥对象的访问 291

13.4.2 互斥方法的访问 292

13.4.3 线程间的同步 293

13.4.4 线程的死锁问题 296

13.5 线程的状态与转换 296

13.6 线程的管理 300

13.6.1 线程的优先级 300

13.6.2 线程的中断 301

13.6.3 守护线程和用户线程 302

13.6.4 线程组 303

小结 305

习题 307

第14章 网络编程 308

14.1 网络基础 308

14.1.1 网络基本概念 308

14.1.2 TCP和UDP协议 309

14.2 网络编程常用类 310

14.3 基于TCP的网络编程 313

14.3.1 基于Socket的客户/服务器模型 313

14.3.2 创建服务器端Socket 313

14.3.3 创建客户端Socket 316

14.3.4 创建一个多线程通信服务器 317

14.3.5 客户/服务器通信过程 319

14.3.6 Socket连接的关闭 323

14.3.7 Socket异常 323

14.4 对象的网络传输 325

14.5 基于UDP的网络编程 328

14.5.1 数据包Datagram 328

14.5.2 基于UDP的客户/服务器通信过程 331

14.6 基于URL的网络编程 332

14.6.1 URL基础 332

14.6.2 资源访问技术 333

小结 334

习题 335

第15章 数据库访问 336

15.1 数据库编程基础 336

15.1.1 什么是JDBC 336

15.1.2 JDBC驱动程序类型 337

15.1.3 安装JDBC驱动程序 338

15.2 连接到数据库 338

15.3 使用Statement访问数据库 342

15.3.1 获得Statement 342

15.3.2 使用Statement对象执行SQL语句 343

15.3.3 语句完成 345

15.4 ResultSet 346

15.4.1 行和光标 347

15.4.2 获取列的值 347

15.4.3 插入新行 349

15.4.4 更新列值 350

15.4.5 删除记录行 351

15.4.6 特殊字段类型的处理 351

15.5 PreparedStatement 354

15.6 CallableStatement 355

15.7 事务 357

15.8 数据源和连接池 361

小结 362

习题 364

第16章 用户界面开发 365

16.1 简介 365

16.1.1 从AWT到Swing 365

16.1.2 模型—视图—控制体系 366

16.1.3 创建第一个Swing窗口 366

16.2 容器和基本组件 368

16.2.1 设计主窗口 369

16.2.2 添加组件到窗口 370

16.2.3 组件的基本功能 371

16.2.4 按钮JButton 372

16.2.5 标签JLabel 372

16.2.6 文本组件 373

16.2.7 选择性输入组件 374

16.2.8 列表JList 375

16.2.9 表格JTable 378

16.2.10 添加菜单到窗口 383

16.3 布局管理器 384

16.3.1 BorderLayout 384

16.3.2 FlowLayout 385

16.3.3 BoxLayout 386

16.3.4 GridLayout 387

16.4 用中间容器组织界面元素 387

16.5 事件机制 389

16.5.1 事件处理过程 389

16.5.2 主要事件类型 391

16.5.3 一个事件处理的实例 393

16.6 对话框 395

16.6.1 选项对话框 395

16.6.2 文件对话框 396

16.6.3 自定义对话框 396

16.7 图形编程基础 398

小结 400

习题 402

附录A Java常用命令解析 403

参考文献 407