当前位置:首页 > 工业技术
Java语言程序设计  第3版
Java语言程序设计  第3版

Java语言程序设计 第3版PDF电子书下载

工业技术

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

第1章 Java语言概述 1

1.1 Java起源与发展 1

1.1.1 Java的起源 1

1.1.2 Java的发展历程 2

1.1.3 Java语言的优点 3

1.2 Java平台与开发环境 3

1.2.1 Java平台与应用领域 3

1.2.2 JDK、JRE和JVM 4

1.2.3 Java字节码与平台独立 4

1.2.4 JDK的下载与安装 5

1.2.5 Java API文档 6

1.3 Java程序基本结构 6

1.3.1 Java程序开发步骤 6

1.3.2 第一个程序分析 8

1.4 程序文档风格和注释 9

1.4.1 一致的缩进和空白 9

1.4.2 块的风格 9

1.4.3 Java程序注释 10

1.5 Eclipse集成开发环境 10

1.6 小结 12

编程练习 12

第2章 Java语言基础 13

2.1 简单程序的开发 13

2.1.1 从键盘读取数据 14

2.1.2 变量与赋值 15

2.1.3 Java标识符 15

2.1.4 Java关键字 16

2.2 数据类型 16

2.2.1 数据类型概述 16

2.2.2 字面值和常量 17

2.2.3 整数类型 17

2.2.4 浮点类型 19

2.2.5 字符类型 20

2.2.6 布尔类型 21

2.2.7 字符串类型 22

2.3 运算符 23

2.3.1 算术运算符 23

2.3.2 关系运算符 25

2.3.3 逻辑运算符 25

2.3.4 赋值运算符 26

2.3.5 位运算符 28

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

2.4 数据类型转换 31

2.4.1 自动类型转换 31

2.4.2 强制类型转换 32

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

2.5 小结 34

编程练习 34

第3章 选择与循环 36

3.1 选择 36

3.1.1 单分支if语句 36

3.1.2 双分支if-else语句 37

3.1.3 嵌套的if语句和多分支的if-else语句 39

3.1.4 条件运算符 40

3.1.5 switch语句结构 41

3.2 循环 43

3.2.1 while循环 43

3.2.2 do-while循环 45

3.2.3 for循环 45

3.2.4 循环的嵌套 47

3.2.5 break语句和continue语句 47

3.3 示例学习 49

3.3.1 任意抽取一张牌 49

3.3.2 求最大公约数 50

3.3.3 打印输出若干素数 51

3.4 小结 52

编程练习 53

第4章 类和对象 55

4.1 面向对象概述 55

4.1.1 OOP的产生 55

4.1.2 面向对象的基本概念 56

4.1.3 面向对象基本特征 57

4.1.4 OOP的优势 58

4.2 为对象定义类 58

4.2.1 类的定义 59

4.2.2 对象的使用 62

4.2.3 理解栈与堆 64

4.2.4 用UML图表示类 64

4.3 方法设计 65

4.3.1 如何设计方法 65

4.3.2 方法的调用 67

4.3.3 方法重载 67

4.3.4 构造方法 68

4.3.5 this关键字的使用 70

4.3.6 方法参数的传递 71

4.4 静态变量和静态方法 72

4.4.1 静态变量 72

4.4.2 静态方法 74

4.4.3 单例模式 75

4.4.4 递归 76

4.5 对象初始化和清除 77

4.5.1 实例变量的初始化 77

4.5.2 静态变量的初始化 79

4.5.3 垃圾回收器 80

4.5.4 变量作用域和生存期 81

4.6 包与类的导入 82

4.6.1 包 82

4.6.2 类的导入 84

4.6.3 Java编译单元 85

4.7 小结 85

编程练习 86

第5章 数组 90

5.1 创建和使用数组 90

5.1.1 数组定义 90

5.1.2 增强的for循环 93

5.1.3 数组元素的复制 93

5.1.4 数组参数与返回值 95

5.1.5 可变参数的方法 96

5.1.6 实例:随机抽取4张牌 97

5.1.7 实例:一个整数栈类 98

5.2 Arrays类 99

5.2.1 数组的排序 100

5.2.2 元素的查找 100

5.2.3 数组元素的复制 101

5.2.4 填充数组元素 101

5.2.5 数组的比较 102

5.3 二维数组 103

5.3.1 二维数组定义 103

5.3.2 数组元素的使用 104

5.3.3 数组初始化器 105

5.3.4 实例:矩阵乘法 105

5.3.5 不规则二维数组 106

5.4 小结 108

编程练习 108

第6章 字符串 111

6.1 String类 111

6.1.1 创建String类对象 111

6.1.2 字符串基本操作 112

6.1.3 字符串查找 114

6.1.4 字符串转换为数组 114

6.1.5 字符串比较 115

6.1.6 字符串的拆分与组合 117

6.1.7 String对象的不变性 118

6.1.8 命令行参数 118

6.2 格式化输出 119

6.3 StringBuilder类和StringBuffer类 122

6.3.1 创建StringBuilder对象 122

6.3.2 StringBuilder的访问和修改 122

6.3.3 运算符“+”的重载 124

6.4 小结 124

编程练习 124

第7章 继承与多态 126

7.1 类的继承 126

7.1.1 类继承的实现 126

7.1.2 方法覆盖 129

7.1.3 super关键字 130

7.1.4 调用父类的构造方法 132

7.2 封装性与访问修饰符 133

7.2.1 类的访问权限 133

7.2.2 类成员的访问权限 134

7.3 防止类扩展和方法覆盖 135

7.3.1 final修饰类 135

7.3.2 final修饰方法 136

7.3.3 final修饰变量 136

7.4 抽象类 137

7.5 对象转换与多态 138

7.5.1 对象转换 139

7.5.2 instanceof运算符 140

7.5.3 多态与动态绑定 140

7.6 小结 142

编程练习 142

第8章 Java常用核心类 144

8.1 Object:终极父类 144

8.1.1 toString()方法 145

8.1.2 equals()方法 145

8.1.3 hashCode()方法 146

8.1.4 clone()方法 147

8.1.5 finalize()方法 148

8.2 Math类 149

8.3 基本类型包装类 151

8.3.1 Character类 151

8.3.2 Boolean类 152

8.3.3 创建数值类对象 153

8.3.4 数值类的常量 154

8.3.5 自动装箱与自动拆箱 155

8.3.6 字符串转换为基本类型 156

8.3.7 BigInteger和BigDecimal类 156

8.4 日期-时间API 158

8.4.1 本地日期类LocalDate 158

8.4.2 本地时间类LocalTime 160

8.4.3 本地日期时间类LocalDateTime 161

8.4.4 Instant类、Duration类和Period类 162

8.4.5 其他常用类 164

8.4.6 日期时间解析和格式化 164

8.5 小结 166

编程练习 166

第9章 内部类、枚举和注解 168

9.1 内部类 168

9.1.1 成员内部类 169

9.1.2 局部内部类 170

9.1.3 匿名内部类 171

9.1.4 静态内部类 173

9.2 枚举类型 175

9.2.1 枚举类型的定义 175

9.2.2 枚举类型的方法 175

9.2.3 枚举在switch中的应用 176

9.2.4 枚举类型的构造方法 177

9.3 注解类型 178

9.3.1 注解概述 179

9.3.2 标准注解 179

9.3.3 定义注解类型 181

9.3.4 标准元注解 183

9.4 小结 184

编程练习 185

第10章 接口与Lambda表达式 188

10.1 接口 188

10.1.1 接口定义 188

10.1.2 接口的实现 189

10.1.3 接口的继承 190

10.1.4 接口类型的使用 192

10.1.5 常量 192

10.2 静态方法和默认方法 192

10.2.1 静态方法 193

10.2.2 默认方法 193

10.2.3 解决默认方法冲突 193

10.3 接口示例 195

10.3.1 Comparable接口 195

10.3.2 Comparator接口 197

10.4 Lambda表达式 198

10.4.1 Lambda表达式简介 198

10.4.2 函数式接口 199

10.4.3 Lambda表达式的语法 199

10.4.4 预定义的函数式接口 200

10.4.5 方法引用与构造方法引用 204

10.5 小结 206

编程练习 206

第11章 泛型与集合 209

11.1 泛型介绍 209

11.1.1 泛型类型 209

11.1.2 泛型方法 211

11.1.3 通配符(?)的使用 212

11.1.4 有界类型参数 213

11.1.5 类型擦除 214

11.2 集合框架 215

11.3 List接口及实现类 217

11.3.1 List的操作 217

11.3.2 ArrayList类 218

11.3.3 遍历集合元素 219

11.3.4 数组转换为List对象 222

11.3.5 Vector类和Stack类 222

11.4 Set接口及实现类 222

11.4.1 HashSet类 222

11.4.2 用Set对象实现集合运算 223

11.4.3 TreeSet类 223

11.4.4 对象顺序 224

11.5 Queue接口及实现类 225

11.5.1 Queue接口和Deque接口 226

11.5.2 ArrayDeque类和LinkedList类 227

11.5.3 集合转换 228

11.6 Map接口及实现类 229

11.6.1 Map接口 229

11.6.2 Map接口的实现类 230

11.7 Collections类 233

11.8 Stream API 235

11.8.1 流概述 236

11.8.2 创建与获得流 236

11.8.3 连接流和限制流 237

11.8.4 过滤流 238

11.8.5 流转换 239

11.8.6 流规约 241

11.8.7 收集结果 241

11.8.8 基本类型流 242

11.8.9 并行流 243

11.9 小结 244

编程练习 245

第12章 异常处理 248

12.1 异常与异常类 248

12.1.1 异常的概念 248

12.1.2 异常类 249

12.2 异常处理 251

12.2.1 异常的抛出与捕获 251

12.2.2 try-catch-finally语句 252

12.2.3 用catch捕获多个异常 254

12.2.4 声明方法抛出异常 255

12.2.5 用throw语句抛出异常 257

12.2.6 try-with-resources语句 258

12.3 自定义异常类 260

12.4 断言 262

12.4.1 使用断言 262

12.4.2 开启和关闭断言 263

12.4.3 何时使用断言 263

12.4.4 断言示例 264

12.5 小结 266

编程练习 266

第13章 输入输出 268

13.1 二进制I/O流 268

13.1.1 File类应用 269

13.1.2 文本I/O与二进制I/O 270

13.1.3 InputStream类和OutputStream类 270

13.1.4 常用二进制I/O流 271

13.1.5 标准输入输出流 276

13.2 文本I/O流 276

13.2.1 Reader类和Writer类 276

13.2.2 FileReader类和FileWriter类 277

13.2.3 BufferedReader类和BufferedWriter类 278

13.2.4 PrintWriter类 279

13.2.5 使用Scanner对象 280

13.3 对象序列化 281

13.3.1 对象序列化与对象流 281

13.3.2 向ObjectOutputStream中写入对象 282

13.3.3 从Obj ectInputStream中读出对象 282

13.3.4 序列化数组 284

13.4 NIO和NIO.2 286

13.4.1 文件系统和路径 286

13.4.2 FileSystem类 286

13.4.3 Path对象 287

13.5 Files类操作 288

13.5.1 创建和删除目录及文件 288

13.5.2 文件属性操作 289

13.5.3 文件和目录的复制与移动 291

13.5.4 获取目录的对象 292

13.5.5 小文件的读写 292

13.5.6 使用Files类创建流对象 294

13.6 小结 296

编程练习 297

第14章 JavaFX基础 299

14.1 JavaFX概述 299

14.1.1 Java GUI编程简史 299

14.1.2 JavaFX基本概念 300

14.1.3 添加JavaFX软件包 300

14.2 JavaFX程序基本结构 300

14.2.1 舞台和场景 301

14.2.2 场景图和节点 302

14.2.3 Application类生命周期方法 303

14.2.4 JavaFX程序启动 303

14.3 JavaFX属性与绑定 304

14.3.1 JavaFX属性 304

14.3.2 属性绑定 306

14.4 JavaFX界面布局 307

14.4.1 JavaFX坐标系 308

14.4.2 Pane面板 308

14.4.3 HBox面板 309

14.4.4 VBox面板 311

14.4.5 BorderPane面板 311

14.4.6 FlowPane面板 312

14.4.7 GridPane面板 313

14.4.8 StackPane面板 315

14.4.9 AnchorPane面板 316

14.4.10 使用CSS设置控件样式 317

14.5 Color和Font类 320

14.5.1 Color类 320

14.5.2 Font类 321

14.6 JavaFX形状 322

14.6.1 Line类 322

14.6.2 Rectangle类 325

14.6.3 Circle类 325

14.6.4 Ellipse类 326

14.6.5 Arc类 326

14.6.6 Polygon类 327

14.6.7 Text类 328

14.7 Image和ImageView类 330

14.8 特效实现 333

14.8.1 阴影效果 333

14.8.2 模糊效果 334

14.8.3 倒影效果 335

14.8.4 发光效果 335

14.9 小结 336

编程练习 337

第15章 事件处理与常用控件 340

15.1 事件处理 340

15.1.1 事件处理模型 340

15.1.2 事件类和事件类型 341

15.1.3 使用事件处理器 342

15.1.4 动作事件 344

15.1.5 鼠标事件 346

15.1.6 键盘事件 348

15.1.7 为属性添加监听器 350

15.2 常用控件 352

15.2.1 Label类 352

15.2.2 Button类 354

15.2.3 TextField类和PasswordField类 357

15.2.4 TextArea类 359

15.2.5 CheckBox类 361

15.2.6 RadioButton类 363

15.2.7 ComboBox类 366

15.2.8 Slider类 369

15.2.9 菜单设计 370

15.2.10 FileChooser类 376

15.3 音频和视频 380

15.4 动画 384

15.4.1 过渡动画 384

15.4.2 淡出效果 385

15.4.3 移动效果 387

15.4.4 缩放效果 388

15.4.5 旋转效果 389

15.4.6 时间轴动画 389

15.5 小结 392

编程练习 393

第16章 JDBC数据库编程 395

16.1 数据库系统简介 395

16.1.1 关系数据库简述 395

16.1.2 数据库语言SQL 396

16.2 MySQL数据库 396

16.2.1 MySQL的下载与安装 396

16.2.2 使用MySQL命令行工具 397

16.2.3 使用Navicat操作数据库 400

16.3 JDBC体系结构 400

16.3.1 JDBC访问数据库 401

16.3.2 JDBC API介绍 401

16.4 数据库访问步骤 402

16.4.1 加载驱动程序 402

16.4.2 建立连接对象 403

16.4.3 创建语句对象 405

16.4.4 ResultSet对象 405

16.4.5 关闭有关对象 407

16.5 访问MySQL数据库 407

16.5.1 创建数据库和表 407

16.5.2 访问MySQL数据库 408

16.6 使用PreparedStatement对象 409

16.6.1 创建PreparedStatement对象 409

16.6.2 带参数的SQL语句 410

16.7 DAO设计模式 411

16.8 可滚动和可更新的ResultSet 418

16.8.1 可滚动的ResultSet 418

16.8.2 可更新的ResultSet 418

16.9 小结 420

编程练习 420

第17章 并发编程基础 422

17.1 Java多线程简介 422

17.2 创建任务和线程 423

17.2.1 实现Runnable接口 424

17.2.2 继承Thread类 425

17.2.3 主线程 426

17.3 线程的状态与调度 427

17.3.1 线程的状态 427

17.3.2 线程的优先级和调度 427

17.3.3 控制线程的结束 429

17.4 线程同步与对象锁 430

17.4.1 线程冲突与原子操作 430

17.4.2 方法同步 431

17.4.3 块同步 432

17.5 线程协调 433

17.5.1 不正确的设计 433

17.5.2 监视器模型 435

17.6 并发工具 437

17.6.1 原子变量 437

17.6.2 Executor和ExecutorService 438

17.6.3 Callable和Future 439

17.6.4 使用Lock锁定对象 440

17.7 小结 442

编程练习 443

第18章 Java网络编程 445

18.1 网络概述 445

18.1.1 网络分层与协议 445

18.1.2 客户/服务器结构 446

18.1.3 IP地址和域名 446

18.1.4 端口号与套接字 447

18.2 Java套接字通信 448

18.2.1 套接字API 449

18.2.2 简单的客户和服务器程序 450

18.2.3 服务多个客户 452

18.3 数据报通信 455

18.3.1 数据报通信概述 455

18.3.2 DatagramSocket类和DatagramPacket类 456

18.3.3 简单的UDP通信例子 457

18.4 URL类编程 459

18.4.1 理解HTTP 459

18.4.2 URL和URL类 461

18.4.3 URLConnection类 464

18.5 小结 467

编程练习 467

参考文献 469

返回顶部