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

  • 购买积分:15 如何计算积分?
  • 作  者:江红编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2012
  • ISBN:9787302288190
  • 页数:491 页
图书介绍:本书内容共分为17章,分别阐述.Java语言概述、数据类型、变量和常量、运算符、表达式和语句、程序流程和异常处理、数组、类和对象、继承和多态、.枚举类型和注解类型、泛型、多线程编程技术、数值、日期和字符串处理、文件和流IO、集合和数据结构、数据库访问技术、图形用户界面应用程序、网络编程和通信、综合应用举例等。

第1章 Java语言概述 1

1.1 Java语言及其特点 1

1.1.1 Java语言简介 1

1.1.2 Java的特点和开发应用范围 2

1.2 Java语言的编译和运行环境 3

1.2.1 Java语言与Java 平台 3

1.2.2 Java SE 3

1.2.3 Java的运行环境 4

1.2.4 Java的开发环境 4

1.3 创建简单的Java程序 5

1.3.1 Hello World程序 5

1.3.2 代码分析 5

1.3.3 编译和运行结果 5

1.4 Java程序的基本结构 6

1.4.1 程序结构 6

1.4.2 包 7

1.4.3 类和对象 11

1.4.4 main方法 12

1.4.5 注释 13

1.4.6 Java编码规则 14

第2章 数据类型、变量和常量 15

2.1 标识符 15

2.1.1 Java标识符和关键字 15

2.1.2 Java命名规则 16

2.2 数据类型 16

2.2.1 简单类型 17

2.2.2 引用类型 17

2.2.3 装箱和拆箱 17

2.3 变量 18

2.3.1 变量的声明和赋值 18

2.3.2 变量的作用域 20

2.4 常量 21

2.4.1 文本常量 21

2.4.2 整型常量 21

2.4.3 浮点数类型常量 22

2.4.4 布尔类型常量 22

2.4.5 字符类型常量 22

2.4.6 字符串类型常量 23

2.4.7 null类型常量 23

2.4.8 用户声明常量 23

2.5 预定义数据类型 24

2.5.1 整数类型 24

2.5.2 浮点类型 26

2.5.3 布尔类型 27

2.5.4 字符类型 28

2.5.5 String数据类型 29

2.6 类型转换 30

2.6.1 自动类型转换 30

2.6.2 强制类型转换 32

第3章 运算符、表达式和语句 33

3.1 运算符 33

3.1.1 算术运算符 34

3.1.2 关系运算符 37

3.1.3 逻辑运算符 39

3.1.4 字符串运算符 41

3.1.5 位运算符 41

3.1.6 赋值运算符 43

3.1.7 条件运算符 45

3.1.8 其他运算符 46

3.1.9 运算符优先级 47

3.2 表达式 49

3.2.1 表达式的组成 49

3.2.2 表达式的书写规则 49

3.3 语句 50

第4章 程序流程和异常处理 52

4.1 顺序结构 52

4.2 选择结构 53

4.2.1 if语句 53

4.2.2 switch语句 61

4.3 循环结构 63

4.3.1 for循环 63

4.3.2 while循环 66

4.3.3 do...while循环 67

4.3.4 for each循环 69

4.3.5 循环的嵌套 70

4.4 跳转语句 71

4.4.1 break语句 71

4.4.2 continue语句 72

4.4.3 return语句 73

4.5 异常处理 74

4.5.1 异常处理概述 74

4.5.2 异常类 75

4.5.3 抛出异常 78

4.5.4 捕获处理异常 79

4.6 Java断言处理 85

4.6.1 Java断言处理概述 85

4.6.2 assert语句和AssertionError类 86

4.6.3 启用/禁用断言 87

4.6.4 断言编译注意事项 87

第5章 数组 90

5.1 数组概述 90

5.1.1 数组的声明 90

5.1.2 数组的实例化和初始化 91

5.1.3 数组的基本访问操作 91

5.2 一维数组 92

5.2.1 一维数组的声明、实例化和初始化 92

5.2.2 一维数组的基本访问操作 93

5.3 多维数组 94

5.3.1 多维数组的声明、实例化和初始化 94

5.3.2 多维数组的基本访问操作 96

5.4 交错数组 98

5.5 匿名数组 100

5.6 数组的应用举例 101

5.6.1 数组元素的求和、最值 101

5.6.2 数组的排序 102

5.6.3 数组元素的插入 105

5.6.4 数组元素的删除 106

5.6.5 矩阵的基本操作 107

5.7 Java类库中操作数组的类和方法 108

5.7.1 java.util.Arrays 108

5.7.2 System.arraycopy 110

5.7.3 数组名.clone() 111

第6章 类和对象 113

6.1 面向对象概述 113

6.1.1 对象 113

6.1.2 封装 113

6.1.3 继承 114

6.1.4 多态性 114

6.2 类和对象概述 114

6.2.1 类的声明 114

6.2.2 创建和使用对象 117

6.3 类的成员 119

6.3.1 数据成员 119

6.3.2 函数成员 119

6.3.3 静态成员和实例成员 119

6.3.4 this关键字 121

6.4 字段 121

6.4.1 字段的声明和访问 121

6.4.2 静态字段和实例字段 122

6.4.3 常量字段 123

6.4.4 volatile字段和transient字段 124

6.5 方法 124

6.5.1 方法的声明和调用 124

6.5.2 参数的传递 125

6.5.3 方法的重载 128

6.5.4 静态方法和实例方法 129

6.5.5 strictfp方法 130

6.5.6 递归 131

6.6 对象构造 131

6.6.1 构造方法 131

6.6.2 私有构造方法 133

6.6.3 静态初始化代码块 134

6.6.4 实例初始化代码块 134

6.6.5 字段的初始化顺序 134

6.7 类成员访问修饰符 136

6.8 嵌套类 139

6.8.1 嵌套顶级类 139

6.8.2 实例内部类 140

6.8.3 本地内部类 142

6.8.4 匿名内部类 142

6.9 Object类和Class类 143

6.9.1 Object类和通用方法 143

6.9.2 Class类和反射技术 144

6.10 对象的生命周期 146

6.10.1 对象的创建 146

6.10.2 对象的使用 146

6.10.3 对象的销毁 147

第7章 继承和多态 148

7.1 继承概述 148

7.1.1 继承的概念 148

7.1.2 继承的类型 148

7.1.3 继承的层次关系 149

7.2 继承 149

7.2.1 派生类的声明 149

7.2.2 super关键字 149

7.2.3 类成员的继承 150

7.2.4 构造方法的继承和调用 152

7.2.5 类成员变量的隐藏 154

7.2.6 类方法的重写 155

7.2.7 抽象类和抽象方法 157

7.2.8 密封类和密封方法 160

7.3 接口 161

7.3.1 接口的声明 161

7.3.2 接口的成员 162

7.3.3 接口的实现 162

7.3.4 接口的继承 163

7.4 多态 165

7.4.1 多态的概念 165

7.4.2 通过继承实现多态性 165

7.4.3 通过方法重载实现多态性 167

7.4.4 通过方法重写实现多态性 168

7.4.5 多态性综合举例 170

第8章 枚举类型和注解类型 175

8.1 枚举 175

8.1.1 枚举类型概述 175

8.1.2 枚举的声明和使用 175

8.1.3 枚举类的成员方法 178

8.1.4 枚举类综合举例 178

8.2 注解类型 179

8.2.1 注解类型概述 179

8.2.2 预定义注解类型 180

8.2.3 自定义注解类型 184

8.2.4 使用反射访问注解类型 187

8.2.5 注解类型综合举例 188

第9章 泛型 191

9.1 泛型的基本概念 191

9.1.1 引例ArrayList 191

9.1.2 引例ArrayL.ist<E> 192

9.1.3 泛型概述 193

9.2 泛型的定义 194

9.2.1 泛型类 194

9.2.2 泛型接口 196

9.2.3 泛型方法 196

9.2.4 泛型参数的约束 199

9.2.5 泛型与子类 200

9.2.6 通配符 200

9.3 泛型和继承 203

9.3.1 泛型类的继承设计准则 203

9.3.2 泛型接口的继承设计准则 205

9.4 泛型的使用 206

9.4.1 创建泛型类的对象 206

9.4.2 泛型类的类型检查 206

9.4.3 泛型类的类型转换 207

9.4.4 类型擦除和泛型类对象的类 207

9.4.5 与遗留代码交互 208

第10章 多线程编程技术 209

10.1 线程处理概述 209

10.1.1 进程和线程 209

10.1.2 线程的优缺点 209

10.2 创建多线程应用程序 210

10.2.1 Java应用程序主线程 210

10.2.2 创建和启动新线程 210

10.3 线程状态和生命周期 213

10.3.1 线程状态及其转换图 213

10.3.2 线程的创建 214

10.3.3 线程的属性设置和获取 214

10.3.4 线程的启动、停止、挂起和唤醒 214

10.3.5 休眠线程sleep() 214

10.3.6 线程让步yield() 214

10.3.7 线程加入join() 215

10.3.8 中断线程interrupt() 216

10.3.9 终止线程 216

10.4 用户线程和Daemon线程 217

10.5 线程优先级和线程调度 219

10.6 线程组 220

10.7 线程同步 221

10.7.1 线程同步处理 221

10.7.2 使用synchronized同步方法 222

10.7.3 使用synchronized同步代码块 223

10.7.4 线程间通信wait()、notify()和notifyAll() 225

10.8 java.util.Timer和java.util.TimerTask 228

第11章 数值、日期和字符串处理 232

11.1 数值处理 232

11.1.1 Math类和数学函数 232

11.1.2 Random类和随机函数 235

11.1.3 BigInteger类和任意精度整数 237

11.1.4 BigDecimal类和任意精度浮点数 241

11.1.5 数值格式化输出NumberFormat和DecimalFormat 245

11.2 日期和时间处理 248

11.2.1 java.util.Date类 248

11.2.2 java.util.Calendar类和GregorianCalendar类 249

11.2.3 java.text.DateFormat类和SimpleDateFormat类 251

11.3 字符串处理 253

11.3.1 String类 253

11.3.2 StringBuilder类和StringBuffer类 257

11.4 正则表达式 260

11.4.1 正则表达式语言 261

11.4.2 正则表达式类及应用举例 263

第12章 输入/输出流和文件 267

12.1 输入/输出流概述 267

12.1.1 流的基本概念 267

12.1.2 java.io中主要类的继承关系 268

12.1.3 I/O流的四大抽象类 270

12.2 磁盘、目录和文件的基本操作 270

12.2.1 java.io.File类概述 270

12.2.2 磁盘分区的基本操作 271

12.2.3 文件和目录的基本操作 272

12.3 字节流的写入和读取 279

12.3.1 二进制文件的写入/读取 279

12.3.2 基本Java数据类型的写入/读取 282

12.3.3 使用字节缓冲流提高写入/读取效率 285

12.4 字符流的写入和读取 288

12.4.1 文本文件的写入/读取 288

12.4.2 字符数据的写入/读取 290

12.4.3 使用字符缓冲流提高写入/读取效率 293

12.5 随机文件的访问 296

12.5.1 RandomAccessFile概述 296

12.5.2 创建RandomAccessFile对象 296

12.5.3 随机文件的读取 296

12.5.4 随机文件的写入 297

12.5.5 随机文件的定位 297

12.5.6 随机文件的关闭 297

12.6 对象序列化 298

12.6.1 对象序列化概述 298

12.6.2 对象输出流 298

12.6.3 对象输入流 299

12.7 控制台I/O 300

12.7.1 System.in/System.out/System.err 300

12.7.2 I/O重定向 301

12.7.3 java.util.Scanner 302

第13章 集合和数据结构 305

13.1 Java平台集合框架 305

13.2 集合框架中的接口 306

13.2.1 接口的继承关系 306

13.2.2 Collection接口 307

13.2.3 List接口 308

13.2.4 Set接口 309

13.2.5 Queue接口 309

13.2.6 Map接口 311

13.2.7 对象排序 311

13.2.8 SortedSet接口 314

13.2.9 SortedMap接口 314

13.3 集合框架中的算法 315

13.3.1 Collections类 315

13.3.2 排序 315

13.3.3 混排 315

13.3.4 常规数据操作算法 316

13.3.5 查找 317

13.3.6 极值 318

13.3.7 其他算法 319

13.3.8 封装器 319

13.4 列表 320

13.4.1 数组列表 320

13.4.2 链表 322

13.5 集 324

13.5.1 散列集 324

13.5.2 树集 325

13.5.3 链表散列集 326

13.6 队列 328

13.7 映射表 331

13.7.1 散列映射表 331

13.7.2 树映射表 332

13.7.3 链表散列映射表 334

13.8 遗留的集合类 335

13.8.1 向量 335

13.8.2 堆栈 335

13.8.3 哈希表 337

13.9 创建自定义集合类 337

第14章 数据库访问技术 339

14.1 关系数据库和SQL语言 339

14.1.1 数据库概念 339

14.1.2 关系数据库 339

14.1.3 SQL语言基础 341

14.1.4 本书使用的样例数据库 342

14.2 JDBC概述 343

14.2.1 JDBC的基本概念 343

14.2.2 JDBC的结构 344

14.2.3 JDBC驱动程序分类 344

14.2.4 JDBC API 346

14.3 使用JDBC访问数据库 347

14.3.1 加载JDBC驱动程序 347

14.3.2 创建与数据源的连接 349

14.3.3 执行数据库操作 351

14.3.4 处理SQL命令结果 356

14.4 使用JDBC访问数据库的示例 358

14.4.1 查询数据库表数据 358

14.4.2 插入数据库表数据 359

14.4.3 更新数据库表数据 360

14.4.4 删除数据库表数据 362

14.4.5 使用存储过程访问数据库 363

14.4.6 创建、删除、修改表结构 365

14.4.7 查询数据库的结构信息——元数据 366

第15章 网络编程和通信 370

15.1 网络编程的基本概念 370

15.1.1 网络基础知识 370

15.1.2 TCP/IP简介 370

15.1.3 IP地址和域名 371

15.1.4 统一资源定位器 372

15.2 InetAddress 372

15.2.1 创建InetAddress对象 372

15.2.2 获取InetAddress的信息 373

15.3 基于URL的网络编程 374

15.3.1 创建URL对象 374

15.3.2 解析URL对象 374

15.3.3 从URL读取网络资源 375

15.3.4 创建URLConnection并读取内容 375

15.4 基于Socket的网络编程 376

15.4.1 Socket概述 376

15.4.2 Socket类 377

15.4.3 ServerSocket类 378

15.4.4 简单的Client/Server程序设计 379

15.4.5 支持多客户的Client/Server程序设计 381

15.5 基于Datagram的网络编程 384

15.5.1 DatagramSocket和DatagramPacket 384

15.5.2 基于DatagramSocket的Client/Server程序设计 386

第16章 图形用户界面应用程序 389

16.1 Java图形用户界面概述 389

16.1.1 AWT简介 389

16.1.2 Swing简介 389

16.1.3 SWT简介 390

16.2 Swing概述 390

16.2.1 Swing组件 390

16.2.2 JFrame类 391

16.2.3 创建Swing应用程序的一般步骤 393

16.2.4 创建简单的Swing应用程序 394

16.3 布局管理器 395

16.3.1 布局管理器概述 395

16.3.2 FlowLayout 396

16.3.3 GridLayout 397

16.3.4 GridBagLayout 397

16.3.5 BorderLayout 401

16.3.6 BoxLayout 402

16.3.7 CardLayout 404

16.3.8 null布局 406

16.4 AWT事件处理 407

16.4.1 事件处理机制 407

16.4.2 事件类 409

16.4.3 事件监听器 410

16.5 Swing组件概述 418

16.6 面板容器 421

16.6.1 JPanel 421

16.6.2 JScrollPane 421

16.6.3 JTabbedPane 421

16.7 常用Swing组件 423

16.7.1 JLabel 423

16.7.2 JButton 423

16.7.3 JTextField 425

16.7.4 JPasswordField 426

16.7.5 JTextArea 426

16.7.6 JRadioButton 429

16.7.7 JCheckBox 429

16.7.8 JList 432

16.7.9 JComboBox 435

16.7.10 Timer 436

16.7.11 JSlider 438

16.7.12 JSpinner 440

16.7.13 JProgressBar 443

16.7.14 JTable 444

16.7.15 JTree 446

16.7.16 JEditorPane和JTextPane 449

16.8 通用对话框 451

16.8.1 JOptionPane对话框 451

16.8.2 JFileChooser对话框 453

16.8.3 JColorChooser对话框 454

16.8.4 通用对话框应用举例 455

16.8.5 自定义对话框 458

16.9 菜单和工具栏 460

16.9.1 菜单相关组件 460

16.9.2 创建主菜单 464

16.9.3 创建上下文菜单 467

16.9.4 JToolBar 468

16.9.5 菜单和工具栏应用举例:文本编辑器 470

16.10 图形绘制 474

16.10.1 图形绘制概述 474

16.10.2 图形上下文设置 474

16.10.3 绘制字符串 475

16.10.4 绘制图形和图像 475

16.10.5 Java 2D简介 478

16.11 Swing与线程 484

16.11.1 Swing事件派发线程 484

16.11.2 SwingUtilities的invokeLater和invokeAndWait方法 486

16.12 Swing外观 488

16.13 Toolkit实用工具包 490