《Java程序设计教程 第2版》PDF下载

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

第1章Java概述 1

1.1 Java技术简介 1

1.1.1 Java发展历史 1

1.1.2 Java技术的构成 2

1.1.3 Java特性 3

1.2 JDK安装及配置 4

1.2.1了解JDK 4

1.2.2安装Java开发工具包 5

1.2.3配置环境变量 7

1.3创建一个Java应用程序 9

1.3.1创建一个Java源文件 9

1.3.2编译和运行 11

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

1.3.4排除常见的错误 12

1.4 Java的工作原理 14

1.4.1 Java运行环境 14

1.4.2 Java应用程序执行过程 14

1.4.3 Java虚拟机 16

1.4.4自动垃圾收集 18

1.5程序注释 19

1.6常用开发环境 20

小结 20

习题1 21

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

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

2.2变量 23

2.2.1变量的种类 23

2.2.2变量的命名 24

2.2.3 Java的原始数据类型 26

2.2.4变量声明 27

2.2.5转义字符 29

2.2.6常量 30

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字符运算 41

2.3.9类型转换 41

2.4字符串 43

2.4.1字符串常量 43

2.4.2字符串对象 43

2.4.3字符串运算 44

2.5基于文本的输入输出 45

2.5.1控制台的输入 45

2.5.2字符界面的输出 47

小结 49

习题2 51

第3章 流程控制 52

3.1句、块和空白 52

3.1.1语句 52

3.1.2语句块 53

3.1.3空白 54

3.2顺序结构 54

3.3选择结构 55

3.3.1 if…else语句 55

3.3.2 switch语句 59

3.4循环结构 61

3.4.1.for循环 61

3.4.2 while循环 63

3.4.3 do循环 64

3.4.4跳转 65

3.5嵌套的结构 66

3.6变量的作用域 67

3.7程序设计应用 68

3.7.1求解素数 68

3.7.2递归 69

3.8程序调试和排错 70

3.8.1利用断言调试程序 70

3.8.2常见排错方法 72

小结 73

习题3 74

第4章 数组 76

4.1一维数组 76

4.1.1数组型变量的声明 76

4.1.2为数组分配空间 77

4.1.3初始化数组 77

4.1.4访问数组的元素 78

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

4.2命令行参数 79

4.3多维数组 80

4.4操作数组 82

4.5数组的应用 84

4.5.1查找 84

4.5.2排序 86

小结 88

习题4 88

第5章 类和对象 90

5.1面向对象技术基础 90

5.2使用JDK的类 91

5.3创建自己的类 93

5.3.1类的结构 93

5.3.2声明自定义类 95

5.3.3为类添加成员变量 96

5.3.4为类添加方法 99

5.3.5方法重载 104

5.3.6为类添加构造方法 105

5.4对象 107

5.4.1创建对象 108

5.4.2访问对象 109

5.4.3 this 110

5.4.4实例运算符的作用 112

5.4.5对象特性及对象间的关系 112

5.5 static 115

5.5.1 static代码块(类初始化) 116

5.5.2 static成员变量(共享数据) 116

5.5.3 static方法(共享操作) 117

5.5.4 static加载 118

5.6内部类 119

5.6.1内部类的声明和应用 119

5.6.2具有static修饰的内部类 120

5.6.3局部内部类 121

5.6.4匿名内部类 121

5.7枚举 123

5.8包 125

小结 127

习题5 127

第6章 继承和接口 130

6.1类的层次结构 130

6.2创建现有类的子类 131

6.2.1继承 131

6.2.2使用super访问超类的构造方法 133

6.2.3覆盖和隐藏 134

6.3 Object类、抽象类、final类 135

6.3.1 Object 135

6.3.2抽象类 138

6.3.3 final类 139

6.4接口 140

6.4.1定义接口 140

6.4.2实现接口 141

6.4.3用接口定义变量 143

6.5抽象类和接口 144

6.6类型系统 146

6.6.1动态和静态类型 146

6.6.2多态性 146

6.6.3类型转换 147

小结 148

习题6 149

第7章 异常控制 152

7.1异常 152

7.1.1异常类型 153

7.1.2 Java程序中的常见异常 154

7.2异常处理 156

7.2.1异常处理的结构 156

7.2.2捕获多种异常 158

7.2.3异常与资源管理 159

7.3自定义异常 160

7.3.1定义一个受检异常 160

7.3.2定义一个非受检异常 160

7.4方法声明抛出异常 161

7.4.1方法声明中的异常 161

7.4.2运行时环境抛出异常 162

7.4.3开发人员编码在程序中抛出异常 163

7.4.4多异常抛出 164

7.4.5覆盖继承自父类的方法时的异常问题 164

7.5异常处理的基本规则 164

7.5.1捕获及声明异常 165

7.5.2 finally和renturn的关系 166

7.5.3需要注意的其他问题 166

小结 167

习题7 167

第8章 泛型和集合 170

8.1集合框架 170

8.1.1集合类 170

8.1.2集合的接口 172

8.2列表 173

8.2.1 List的主要方法 174

8.2.2 List迭代器——ListIterator 174

8.2.3 ArrayList 175

8.2.4 Vector 177

8.3队列 178

8.3.1 LinkedList 179

8.3.2 LinkedBlockingQueue 181

8.4集 182

8.5映射 184

8.6构建有序集合 187

8.6.1利用Comparable接口实现有序列表 188

8.6.2利用Comparator接口实现有序集合 189

8.6.3其他排序集合 189

8.7泛型 190

8.7.1泛型在集合中的主要应用 191

8.7.2声明泛型类 191

8.7.3声明泛型接口 193

8.7.4声明泛型方法 194

8.7.5泛型参数的限定 194

小结 195

习题8 197

第9章 常用类编程 198

9.1 Objects 198

9.2 System 200

9.3 String与StringBuffer 201

9.3.1字符串常量 201

9.3.2字符串变量 201

9.3.3字符串运算 202

9.3.4构造格式化字符串 204

9.3.5 StringBuffer 204

9.4日期处理 205

9.4.1获得日期对象 206

9.4.2创建一个日历对象——Calendar 206

9.4.3 Date和Calendar的转换 207

9.4.4修改日历属性 207

9.4.5格式化输出及日期型字符串解析 208

9.5正则表达式 210

9.5.1一个例子 210

9.5.2字符集 211

9.5.3查找和替换 214

9.5.4捕获分组 215

9.6 Observable对象和Observer对象 217

9.7数值的包装类 219

9.8生成随机数 220

9.9反射与代理 221

9.9.1 Class和反射 221

9.9.2对象代理 225

小结 227

习题9 229

第10章 基本I/O处理 232

10.1流 232

10.1.1什么是流 232

10.1.2流的分类 233

10.1.3输入流的基本方法 234

10.1.4输出流的基本方法 235

10.2字符流和字节流 236

10.3结点流 237

10.4流的处理链 238

10.4.1过滤器流 238

10.4.2转换流 239

10.4.3数据输入和输出流 239

10.4.4缓冲流 241

10.4.5打印输出流 241

10.4.6如何利用流编写程序 242

10.5文件处理 243

10.5.1 File 243

10.5.2 Path与Files 247

10.5.3顺序读写文件 251

10.5.4随机读写文件 253

10.6对象串行化 256

10.6.1什么是串行化 256

10.6.2可串行化的对象 256

10.6.3对象的串行化存取 257

10.6.4串行化的问题 258

10.7 I/O的异常处理 260

小结 261

习题10 262

第11章 多线程开发 263

11.1理解线程 263

11.2创建线程 264

11.2.1从Thread派生线程类 264

11.2.2实现Runnable接口创建线程目标类 265

11.2.3定义线程执行的任务 265

11.2.4创建线程实例,执行任务 266

11.3失控的线程 266

11.4线程间的同步和互斥 272

11.4.1互斥对象的访问 272

11.4.2互斥方法的访问 274

11.4.3线程间的同步 275

11.4.4线程的死锁问题 277

11.5线程的状态与转换 277

11.6线程的管理 281

11.6.1线程的优先级 281

11.6.2线程的中断 282

11.6.3守护线程和用户线程 283

11.6.4线程组 283

小结 285

习题11 287

第12章 网络编程 289

12.1网络基础 289

12.1.1网络基本概念 289

12.1.2 TCP和UDP协议 290

12.2网络编程常用类 291

12.3基于TCP的网络编程 293

12.3.1基于Socket的客户/服务器模型 293

12.3.2创建服务器端Socket 294

12.3.3创建客户端Socket 296

12.3.4创建一个多线程通信服务器 298

12.3.5客户/服务器通信过程 299

12.3.6 Socket连接的关闭 303

12.3.7 Socket异常 303

12.4对象的网络传输 305

12.5基于UDP的网络编程 308

12.5.1数据报Datagram 308

12.5.2基于UDP的客户/服务器通信过程 311

12.5.3 UDP组播通信 312

12.6基于URL的网络编程 313

12.6.1 URL基础 313

12.6.2资源访问技术 314

小结 315

习题12 315

第13章 数据库访问 317

13.1数据库编程基础 317

13.1.1什么是JDBC 317

13.1.2 JDBC驱动程序类型 318

13.1.3安装JDBC驱动程序 319

13.2连接到数据库 319

13.3使用Statement访问数据库 322

13.3.1获得Statement 322

13.3.2使用Statement对象执行SQL语句 324

13.3.3语句完成 326

13.4 ResultSet 326

13.4.1行和光标 327

13.4.2获取列的值 328

13.4.3插入新行 329

13.4.4更新列值 330

13.4.5删除记录行 331

13.4.6特殊字段类型的处理 331

13.5 Prepared Statement 334

13.6 Ca11ableStatement 335

13.7事务 337

13.7.1事务处理 337

13.7.2保存点 339

13.8使用RowSet 340

13.8.1 RowSet的种类 340

13.8.2使用JdbcRowSet访问数据库 342

13.8.3使用CachedRowSet访问数据库 343

13.9数据源和连接池 347

小结 348

习题13 349

第14章 用户界面开发 350

14.1简介 350

14.1.1从AWT到Swing 350

14.1.2创建第一个Swing窗口 351

14.2容器和基本组件 352

14.2.1 Swing API 352

14.2.2设计主窗口 354

14.2.3添加组件到窗口 355

14.2.4按钮JButton 356

14.2.5标签JLabel 356

14.2.6文本组件 357

14.2.7选择性输入组件 358

14.2.8列表J List 359

14.2.9表格JTable 362

14.2.10添加菜单到窗口 366

14.3布局管理器 368

14.3.1 BorderLayout 368

14.3.2 FlowLayout 369

14.3.3 BoxLayout 369

14.3.4 GridLayout 370

14.4用中间容器组织界面元素 371

14.5事件机制 373

14.5.1事件处理过程 373

14.5.2主要事件类型 374

14.5.3一个事件处理的实例 376

14.6对话框 378

14.6.1选项对话框 378

14.6.2文件对话框 378

14.6.3自定义对话框 379

14.7图形编程基础 381

小结 383

习题14 384