《Java语言程序设计》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:沈泽刚,秦玉平主编
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2014
  • ISBN:9787302336020
  • 页数:375 页
图书介绍:本书详细介绍了Java编程语言的基本概念和基础知识。主要内容包括Java语言的基本语法结构、Java语言面向对象的特征、Java基础类库和常用工具类、Java异常处理和断言机制、Java输入输出处理和多线程编程、Java图形用户界面和事件处理、Java小程序和多媒体应用开发、网络编程和数据库编程、泛型和Java集合框架等。

第1章 Java语言概述 1

1.1 Java起源与发展 1

1.1.1 Java的起源 1

1.1.2 Java的发展历程 1

1.1.3 Java语言的特点 2

1.2 面向对象编程概述 4

1.2.1 OOP的产生 4

1.2.2 OOP的优势 5

1.2.3 OO的主要应用 5

1.3 简单的Java程序 6

1.3.1 JDK的下载与安装 6

1.3.2 第一个简单的程序 6

1.3.3 第一个程序分析 8

1.3.4 集成开发环境 9

1.4 Java字节码与虚拟机 10

1.4.1 Java平台与Java虚拟机 10

1.4.2 Java程序的运行机制 10

1.5 Java关键字和标识符 11

1.5.1 Java关键字 11

1.5.2 Java标识符 11

1.5.3 Java编码规范 12

1.6 小结 13

1.7 习题 13

第2章 数据类型和运算符 15

2.1 简单程序的开发 15

2.2 数据类型 16

2.2.1 Java数据类型 16

2.2.2 整数类型 18

2.2.3 浮点型 19

2.2.4 字符型 21

2.2.5 布尔型数据 22

2.2.6 字符串型数据 23

2.3 常用运算符 23

2.3.1 算术运算符 23

2.3.2 关系运算符 25

2.3.3 位运算符 26

2.3.4 逻辑运算符 28

2.3.5 赋值运算符 29

2.3.6 运算符的优先级和结合性 30

2.4 数据类型转换 31

2.4.1 自动类型转换 31

2.4.2 强制类型转换 32

2.4.3 表达式中类型自动提升 33

2.5 小结 33

2.6 习题 34

第3章 程序流程控制 36

3.1 分支结构 36

3.1.1 if语句结构 36

3.1.2 条件运算符 38

3.1.3 switch语句结构 39

3.2 循环结构 41

3.2.1 while循环结构 41

3.2.2 do-while循环结构 43

3.2.3 for循环结构 44

3.2.4 循环结构的嵌套 45

3.2.5 break语句和continue语句 45

3.3 案例研究 48

3.3.1 一位数加法练习程序 48

3.3.2 任意抽取一张牌 49

3.3.3 求最大公约数 49

3.3.4 打印输出若干素数 50

3.3.5 打印一年的日历 51

3.4 小结 53

3.5 习题 53

第4章 类和对象基础 56

4.1 面向对象基础 56

4.1.1 面向对象的基本概念 56

4.1.2 面向对象的基本特征 57

4.2 Java类与对象 58

4.2.1 类的定义 59

4.2.2 对象的使用 62

4.2.3 用UML图表示类 63

4.2.4 理解栈与堆 64

4.3 方法设计 64

4.3.1 如何设计方法 64

4.3.2 方法的调用 66

4.3.3 方法重载 66

4.3.4 构造方法 67

4.3.5 方法参数的传递 70

4.4 static修饰符 71

4.4.1 实例变量和静态变量 72

4.4.2 实例方法和静态方法 73

4.4.3 static修饰符的一个应用 74

4.4.4 方法的递归调用 75

4.5 Math类 76

4.6 对象初始化和清除 78

4.6.1 实例变量的初始化 79

4.6.2 静态变量的初始化 81

4.6.3 垃圾回收器 82

4.6.4 变量作用域和生存期 83

4.7 包与类的导入 84

4.7.1 包的管理 84

4.7.2 类的导入 85

4.7.3 Java编译单元 86

4.8 小结 87

4.9 习题 87

第5章 数组及应用 93

5.1 创建和使用数组 93

5.1.1 数组定义 93

5.1.2 数组的使用 95

5.1.3 数组元素的复制 96

5.1.4 数组作为方法参数和返回值 98

5.1.5 实例:随机抽取4张牌 98

5.1.6 实例:一个整数栈类 99

5.1.7 可变参数的方法 101

5.1.8 数组的排序 102

5.1.9 数组的查找 103

5.2 多维数组 104

5.2.1 多维数组定义 104

5.2.2 不规则数组 105

5.2.3 数组元素的使用 105

5.2.4 实例:打印杨辉三角形 106

5.2.5 实例:矩阵乘法 107

5.3 小结 108

5.4 习题 109

第6章 字符串及应用 113

6.1 String类 113

6.1.1 创建String类对象 113

6.1.2 字符串类几个常用方法 114

6.1.3 字符串查找 115

6.1.4 字符串与数组之间的转换 116

6.1.5 字符串的解析 117

6.1.6 字符串比较 117

6.1.7 String对象的不变性 119

6.2 命令行参数 120

6.3 StringBuilder类 121

6.3.1 创建StringBuilder对象 121

6.3.2 StringBuilder的访问和修改 121

6.3.3 运算符“+”的重载 123

6.4 正则表达式 123

6.4.1 模式匹配 123

6.4.2 Pattern类 125

6.4.3 Matcher类 126

6.4.4 量词和捕获组 128

6.5 小结 129

6.6 习题 130

第7章 Java面向对象特征 133

7.1 类的继承 133

7.1.1 类继承的实现 133

7.1.2 方法覆盖 135

7.1.3 super关键字的使用 136

7.1.4 子类的构造方法及调用过程 137

7.1.5 final修饰符 139

7.2 Object类 140

7.2.1 toString方法 141

7.2.2 equals方法 141

7.2.3 hashCode方法 142

7.2.4 clone方法 142

7.2.5 finalize方法 143

7.3 基本类型包装类 144

7.3.1 Character类 144

7.3.2 Boolean类 145

7.3.3 Number类及其子类 145

7.3.4 创建数值类对象 146

7.3.5 数值类的常量 147

7.3.6 自动装箱与自动拆箱 147

7.3.7 字符串转换为基本类型 148

7.3.8 BigInteger和BigDecimal类 149

7.4 封装性与访问修饰符 150

7.4.1 类的访问权限 150

7.4.2 类成员的访问权限 151

7.5 抽象类与接口 152

7.5.1 抽象方法和抽象类 152

7.5.2 接口及其定义 154

7.5.3 接口的实现 155

7.6 对象转换与多态性 156

7.6.1 对象转换 156

7.6.2 instanceof运算符 158

7.6.3 多态性与动态绑定 158

7.6.4 接口类型的使用 159

7.7 小结 160

7.8 习题 160

第8章 异常处理与断言 168

8.1 异常与异常类 168

8.1.1 异常的概念 168

8.1.2 Throwable类及其子类 169

8.2 异常处理机制 171

8.2.1 异常的抛出与捕获 171

8.2.2 try-catch-finally语句 172

8.2.3 用catch捕获多个异常 174

8.2.4 声明方法抛出异常 175

8.2.5 用throw语句抛出异常 177

8.2.6 try-with-resources语句 177

8.3 自定义异常类 180

8.4 断言机制 181

8.4.1 断言概述 181

8.4.2 启动和关闭断言 182

8.4.3 何时使用断言 182

8.4.4 一个使用断言的示例 183

8.5 小结 184

8.6 习题 185

第9章 输入输出 189

9.1 文件I/O概述 189

9.1.1 文件系统和路径 189

9.1.2 Path对象 190

9.2 Files类操作 191

9.2.1 创建和删除目录和文件 191

9.2.2 文件属性操作 192

9.2.3 文件和目录的复制与移动 194

9.2.4 获取目录的对象 195

9.2.5 小文件的读写 195

9.3 字节I/O流 197

9.3.1 InputStream类和OutputStream类 198

9.3.2 读写二进制数据 199

9.3.3 DataInputStream类和DataOutputStream类 202

9.3.4 文本文件和二进制文件 204

9.3.5 用PrintStream输出文本 205

9.3.6 格式化输出 206

9.3.7 使用Scanner类读取文本文件 208

9.4 字符I/O流 209

9.4.1 Reader类和Writer类 210

9.4.2 BufferedReader类和BufferedWriter类 210

9.4.3 InputStreamReader类和OutputStreamWriter类 212

9.4.4 PrintWriter类 213

9.4.5 标准输入输出流 213

9.5 随机访问文件 214

9.5.1 创建SeekableByteChannel对象 214

9.5.2 SeekableByteChannel接口的方法 214

9.5.3 ByteBuffer类 215

9.6 对象序列化 217

9.6.1 对象序列化与对象流 217

9.6.2 向ObjectOutputStream中写入对象 218

9.6.3 从ObjectInputStream中读出对象 218

9.7 小结 220

9.8 习题 221

第10章 集合与泛型 223

10.1 集合框架 223

10.1.1 Collection接口及操作 223

10.1.2 集合元素迭代 224

10.1.3 List接口及实现类 225

10.1.4 Set接口及实现类 229

10.1.5 对象顺序 232

10.1.6 Queue接口及实现类 235

10.1.7 集合转换 237

10.2 Map接口及实现类 238

10.2.1 Map接口 238

10.2.2 Map接口的实现类 239

10.3 Arrays类和Collections类 242

10.3.1 Arrays类 243

10.3.2 Collections类 247

10.4 泛型介绍 249

10.4.1 为何引进泛型 249

10.4.2 泛型类型 250

10.4.3 泛型方法 251

10.4.4 通配符(?)的使用 252

10.4.5 有界类型参数 253

10.4.6 类型擦除 254

10.5 小结 255

10.6 习题 255

第11章 嵌套类、枚举和注解 259

11.1 嵌套类 259

11.1.1 静态嵌套类 259

11.1.2 成员内部类 261

11.1.3 局部内部类 262

11.1.4 匿名内部类 263

11.2 枚举类型 264

11.2.1 枚举类型的定义 264

11.2.2 枚举类型的方法 265

11.2.3 枚举在switch 中的应用 265

11.2.4 枚举类型的构造方法 266

11.3 注解类型 267

11.3.1 注解概述 267

11.3.2 标准注解 268

11.3.3 定义注解类型 270

11.3.4 标准元注解 271

11.4 小结 272

11.5 习题 273

第12章 国际化与本地化 276

12.1 国际化(i18n) 276

12.1.1 Locale类 276

12.1.2 TimeZone类 278

12.2 时间、日期和日历 279

12.2.1 Date类 279

12.2.2 Calendar类 280

12.2.3 GregorianCalendar类 281

12.3 数据格式化 282

12.3.1 DateFormat类 282

12.3.2 NumberFormat类 285

12.4 资源包的使用 287

12.4.1 属性文件 287

12.4.2 使用ResourceBundle类 288

12.4.3 使用ListResourceBundle类 290

12.5 小结 291

12.6 习题 291

第13章 多线程基础 293

13.1 线程与线程类 293

13.1.1 线程的概念 293

13.1.2 Thread类和Runnable接口 294

13.2 线程的创建 295

13.2.1 继承Thread类 295

13.2.2 实现Runnable接口 296

13.2.3 主线程 296

13.3 线程的状态与调度 297

13.3.1 线程的状态 297

13.3.2 线程的优先级和调度 298

13.3.3 控制线程的结束 299

13.4 线程同步与对象锁 300

13.4.1 资源共享问题 301

13.4.2 对象锁的实现 302

13.4.3 线程间的同步控制 303

13.5 小结 307

13.6 习题 308

第14章 图形用户界面 312

14.1 Swing概述 312

14.2 组件和容器 312

14.2.1 组件 313

14.2.2 容器 313

14.2.3 一个简单的Swing程序 313

14.2.4 顶级容器的使用 315

14.3 容器布局 316

14.3.1 FlowLayout布局管理器 316

14.3.2 BorderLayout布局管理器 317

14.3.3 GridLayout布局管理器 318

14.3.4 其他布局管理器 319

14.3.5 面板容器及容器的嵌套 319

14.4 在面板中绘图 321

14.4.1 在面板中绘图 321

14.4.2 Graphics类 321

14.4.3 Color类 321

14.4.4 Font类 322

14.5 事件处理 323

14.5.1 事件处理模型 323

14.5.2 事件类 324

14.5.3 事件监听器 324

14.5.4 事件处理的基本步骤 325

14.5.5 常见的事件处理 328

14.5.6 实例:升国旗奏国歌 331

14.6 常用组件 332

14.6.1 JLabel类 333

14.6.2 JButton类 333

14.6.3 JTextField类 335

14.6.4 JTextArea类 337

14.6.5 JCheckBox类 337

14.6.6 JRadioButton类 338

14.6.7 JComboBox类 340

14.6.8 JOptionPane类 341

14.6.9 JFileChooser类 343

14.6.1 0菜单组件 344

14.7 小结 348

14.8 习题 348

第15章 数据库编程 351

15.1 JDBC概述 351

15.1.1 两层和三层模型 351

15.1.2 JDBC驱动程序与安装 352

15.1.3 JDBC API介绍 353

15.2 数据库连接步骤 353

15.2.1 加载驱动程序 354

15.2.2 建立连接对象 354

15.2.3 创建语句对象 356

15.2.4 ResultSet对象 357

15.2.5 关闭有关对象 358

15.3 数据库访问示例 359

15.3.1 访问Microsoft Access数据库 359

15.3.2 访问PostgreSQL数据库 360

15.4 预处理语句 361

15.4.1 创建PreparedStatement对象 361

15.4.2 带参数的SQL语句 362

15.4.3 DAO设计模式及应用 363

15.5 可滚动和可更新的ResultSet 367

15.5.1 可滚动的ResultSet 367

15.5.2 可更新的ResultSet 368

15.5.3 实例:访问数据库的GUI程序 370

15.6 小结 373

15.7 习题 373

参考文献 375