《JAVA程序设计教程 微课·实训·课程设计》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:张延军,王保民,何月梅,司玲玲,乔德军
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2017
  • ISBN:9787302459743
  • 页数:395 页
图书介绍:本教材编写过程中坚持够用、实用、简单、直接的教学理念,对教学内容进行精心设计和选择,通过120个示例程序、100个程序编写任务、50个微视频和测试、8个难度和工作量适宜的课程设计,为学生构建全方位立体化、科学合理的Java学习路线图,构建了微视频、编程、实验、课程设计在内的Java实训体系。

上篇 Java编程基础 3

第1章 走进Java世界 3

1.1 Java语言简介 3

1.1.1 Java发展简史 3

1.1.2 Sun与Microsoft 4

1.1.3 Java的影响力 5

1.1.4 Java语言的特点 5

1.2 Java开发环境的构建 6

1.2.1 高级语言的运行机制 6

1.2.2 JVM、JRE和JDK 7

1.2.3 JDK的下载和安装 8

1.2.4 JDK环境变量的配置 9

1.2.5 JDK安装文件夹介绍 10

1.3 Java程序的编辑、编译和运行 10

1.3.1 第一个Java程序(HelloWorld.java) 10

1.3.2 显示命令行参数(CommArg.java) 11

1.3.3 Java程序的各种形态 12

1.4 Java IDE介绍 13

1.5 本章小结 14

1.6 自测题 14

1.7 编程实训 14

第2章 Java语言基础 15

2.1 Java程序的构成 15

2.1.1 标识符 16

2.1.2 关键字和保留字 17

2.1.3 Java注释 19

2.2 Java数据类型、常量和变量 20

2.2.1 Java数据类型 20

2.2.2 常量 20

2.2.3 变量 23

2.2.4 基本数据类型的转换 24

2.2.5 基本数据类型的对象包装类 25

2.3 Java运算符、表达式、语句和程序 26

2.3.1 运算符 26

2.3.2 表达式 32

2.3.3 语句和程序 32

2.3.4 Java程序的书写风格 33

2.4 Java流程控制语句 33

2.4.1 顺序结构 33

2.4.2 分支结构 33

2.4.3 循环结构 36

2.4.4 break和continue语句 38

2.5 Java语言编程的基本技巧 39

2.5.1 Java数据的输出 39

2.5.2 Java数据的输入 40

2.5.3 用JOptionPane类实现各种对话框 41

2.5.4 Java程序运行时间的计算 42

2.6 Java数组 43

2.6.1 一维数组 43

2.6.2 二维数组 45

2.6.3 数组工具类(Arrays) 46

2.7 Java编程作业的提交要求 47

2.8 本章小结 48

2.9 自测题 48

2.10 编程实训 51

第3章 面向对象编程基础 57

3.1 面向对象技术简介 57

3.1.1 面向过程和面向对象 57

3.1.2 面向对象的特征 58

3.2 类 62

3.2.1 类的定义 62

3.2.2 成员变量 63

3.2.3 局部变量 64

3.2.4 成员方法的定义 64

3.2.5 成员方法的调用 65

3.2.6 成员方法的递归调用 65

3.3 对象的实例化与清除 66

3.3.1 构造方法的定义 66

3.3.2 构造方法的调用——实例化对象 67

3.3.3 垃圾回收机制 68

3.3.4 Java程序的优化 69

3.4 引入类和定义包 69

3.4.1 包概念的提出 69

3.4.2 JDK API常见包介绍 70

3.4.3 package和import语句 71

3.5 Java文档注释 72

3.5.1 常用的Javadoc标记 72

3.5.2 利用javadoc.exe生成API文档的方法 74

3.5.3 在Eclipse中生成API文档的方法 74

3.6 UML 77

3.6.1 UML简介 77

3.6.2 UML建模工具 77

3.6.3 在MyEclipse下进行UML建模 78

3.7 俄罗斯方块程序的阅读(Tetris.java) 80

3.8 本章小结 81

3.9 自测题 81

3.10 编程实训 84

中篇 Java高级编程 91

第4章 面向对象高级编程 91

4.1 JVM内存管理 91

4.2 类的重用 92

4.2.1 类的继承和组合 92

4.2.2 关键字this和super 93

4.2.3 方法的覆盖 94

4.3 static关键字简介 95

4.3.1 static关键字 95

4.3.2 初始化语句块的自动执行 96

4.3.3 变量的初始化问题 98

4.3.4 Java方法的调用总结 99

4.4 final和abstract关键字 100

4.5 接口 100

4.5.1 接口的定义 100

4.5.2 用类实现接口 101

4.5.3 接口与抽象类的区别 102

4.6 内部类 103

4.6.1 为什么要引入内部类 103

4.6.2 内部类的分类和应用 103

4.7 对象的上溯造型和下溯造型 105

4.8 访问权限修饰符 107

4.9 异常处理机制 108

4.9.1 方法调用堆栈 110

4.9.2 Exception的概念、子类及其继承关系 111

4.9.3 Java异常处理机制 112

4.9.4 自定义异常 113

4.10 本章小结 114

4.11 自测题 115

4.12 编程实训 119

第5章 JDK常见类的使用 121

5.1 java.lang包中的常见类 121

5.1.1 Object类 121

5.1.2 Class类 125

5.1.3 System类和Runtime类 125

5.1.4 Math类和Random类 127

5.1.5 Number类 128

5.2 java.util包中的常见类 128

5.2.1 Scanner类 128

5.2.2 Date、Calender和SimpleDateFormat类 129

5.2.3 String、StringBuffer和StringBuilder类 132

5.3 集合概述 136

5.3.1 Java中的集合框架层次结构 137

5.3.2 Collection接口和Iterator接口 137

5.3.3 List接口及其子类 139

5.3.4 Set接口及其子类 141

5.3.5 Map接口及其子类 142

5.3.6 Collections类 145

5.3.7 如何选择集合类 146

5.4 自定义对象的排序规则 146

5.4.1 实现java.lang.Comparable接口 146

5.4.2 实现java.util.Comparator接口 147

5.5 枚举 150

5.6 泛型 151

5.6.1 问题的提出 151

5.6.2 泛型的引入 152

5.6.3 泛型的应用 152

5.7 正则表达式 154

5.7.1 正则表达式简介 154

5.7.2 创建正则表达式 154

5.7.3 正则表达式的使用 156

5.8 本章小结 157

5.9 自测题 158

5.10 编程实训 159

第6章 Java I/O技术 164

6.1 I/O技术概述 164

6.1.1 InputStream类和OutputStream类 165

6.1.2 Reader类和Writer类 166

6.1.3 File类 166

6.2 I/O流的使用 168

6.2.1 文件字节流(FileInputStream和FileOutputStream) 168

6.2.2 文件字符流(FileReader和FileWriter) 169

6.2.3 随机读/写文件流(RandomAccessFile) 170

6.2.4 基本数据流(DataInputStream和DataOutputStream) 171

6.2.5 对象流(ObjectInputStream和ObjectOutputStream) 173

6.2.6 管道流(PipedInputStream和PipedOutputStream) 174

6.2.7 合并输入流(SequenceInputStream) 176

6.2.8 PrintStream、PrintWriter和Scanner 177

6.3 NIO简介 179

6.4 利用Java进行常用文档的读/写 179

6.4.1 利用JXL读/写Excel 179

6.4.2 利用POI读/写Word 180

6.5 本章小结 181

6.6 自测题 181

6.7 编程实训 184

第7章 Java GUI编程技术 186

7.1 GUI编程的Java实现 186

7.1.1 AWT 186

7.1.2 swing 186

7.1.3 SWT/JFace 187

7.1.4 GUI设计工具 187

7.2 java.awt编程技术 188

7.2.1 java.awt简介 188

7.2.2 组件类(Component) 188

7.2.3 颜色类和字体类(Color和Font) 189

7.2.4 容器类(Container) 190

7.2.5 图形类(Graphics) 190

7.2.6 布局管理器(LayoutManager) 192

7.2.7 Java事件处理机制 196

7.3 swing编程技术 199

7.3.1 swing简介 199

7.3.2 swing编程流程 200

7.4 swing常用组件 202

7.4.1 顶级容器:JFrame和JDialog 202

7.4.2 中间容器:JPanel和J Scrol lPane 205

7.4.3 图像显示:Image、lcon和ImageIcon 206

7.4.4 显示文本或图像组件:JLabel 207

7.4.5 文本组件:JTextField、JPasswordField和JTextArea 208

7.4.6 按钮组件:JButton、JRadioButton和JCheckBox 209

7.4.7 下拉式列表:JComboBox 211

7.4.8 综合示例:用户注册窗口 211

7.4.9 列表组件:JList 214

7.4.10 微调选项输入框:JSpinner 216

7.4.11 表格组件:JTable和DefaultTableModel 219

7.4.12 菜单组件:JMenuBar、JMenu和JMenuItem 222

7.4.13 工具栏:JToolBar 226

7.4.14 文件选择器组件:JFileChooser 228

7.4.15 树形组件:JTree 230

7.5 线程安全的swing编程 232

7.5.1 swing的线程安全 232

7.5.2 利用SwingWorker类实现线程安全的swing编程 233

7.5.3 利用Timer类实现线程安全的swing编程 235

7.6 利用WindowBuilder Pro进行swing应用开发 236

7.6.1 WindowBuilder Pro的下载和安装 236

7.6.2 WindowBuilder Pro的基本使用 238

7.6.3 WindowBuilder事件处理 240

7.6.4 WindowBuilder生成代码的改造 241

7.7 本章小结 243

7.8 自测题 243

7.9 编程实训 244

第8章 Java多线程技术 250

8.1 程序、进程和线程 250

8.2 Java多线程技术 251

8.2.1 Thread类和Runnable接口 251

8.2.2 两种传统的创建线程的方法 252

8.3 线程的状态控制 254

8.3.1 线程的状态 254

8.3.2 线程的生命周期 254

8.3.3 守护线程 255

8.3.4 线程的加塞运行 256

8.3.5 线程的“礼让” 257

8.3.6 线程的优先级 257

8.3.7 线程的定时执行 258

8.3.8 线程的中止 259

8.4 线程的同步和互斥 259

8.4.1 用synchronized实现线程的互斥 259

8.4.2 用ThreadLocal实现线程局部变量 260

8.4.3 用Object类的wait()和notify()实现线程的同步 261

8.4.4 生产者和消费者问题 263

8.5 Concurrency开发库简介 266

8.5.1 同步器 266

8.5.2 线程池 271

8.5.3 执行器 272

8.5.4 创建可以返回数据的线程 272

8.5.5 锁机制 273

8.5.6 Fork/Join框架 275

8.6 本章小结 276

8.7 自测题 276

8.8 编程实训 278

第9章 Java网络编程技术 283

9.1 计算机网络基础知识 283

9.1.1 几个重要的概念 283

9.1.2 URL和URI 284

9.1.3 TCP和UDP 284

9.2 Java网络编程的地址类 285

9.2.1 URL类 285

9.2.2 InetAddress类 286

9.3 TCP Socket编程 287

9.3.1 传统单线程Socket编程 288

9.3.2 多线程Socket编程 289

9.3.3 从客户端上传文件到服务器端 292

9.4 UDP Socket编程 293

9.5 本章小结 296

9.6 自测题 296

9.7 编程实训 296

第10章 JDBC编程技术 299

10.1 数据库基本知识 299

10.1.1 常见的关系数据库产品 300

10.1.2 数据库编程接口 300

10.2 MySQL数据库和数据库管理工具 301

10.2.1 MySQL数据类型 302

10.2.2 MySQL数据库的下载和安装 303

10.2.3 数据库管理工具Navicat的使用 307

10.3 JDBC编程技术 310

10.3.1 JDBC API介绍 310

10.3.2 JDBC访问数据库的步骤 311

10.3.3 用Statement实现静态SQL语句编程 312

10.3.4 用PreparedStatement实现带参数SQL语句编程 313

10.3.5 用CallableStatement实现存储过程编程 314

10.3.6 数据库元数据的读取 316

10.3.7 数据库数据的批量插入 317

10.3.8 在MySQL数据库中存取文件 318

10.3.9 数据库事务处理 319

10.3.10 MySQL数据库的JDBC工具类 320

10.4 数据持久化技术 322

10.5 本章小结 323

10.6 自测题 323

10.7 编程实训 323

下篇 课程设计 327

第11章 Java课程设计 327

11.1 21点游戏 328

11.1.1 项目任务 328

11.1.2 项目设计 329

11.1.3 项目做中学 330

11.1.4 总结提高 330

11.2 个人通讯录 331

11.2.1 项目任务 331

11.2.2 项目设计 332

11.2.3 项目做中学 333

11.2.4 总结提高 334

11.3 我的记事本 335

11.3.1 项目任务 335

11.3.2 项目设计 338

11.3.3 项目做中学 338

11.3.4 总结提高 342

11.4 ATM柜员机模拟项目 342

11.4.1 项目任务 342

11.4.2 项目设计 345

11.4.3 项目做中学 346

11.4.4 总结提高 346

11.5 银行排队叫号模拟系统 347

11.5.1 项目任务 347

11.5.2 项目设计 348

11.5.3 项目做中学 348

11.5.4 总结提高 350

11.6 坦克大战游戏 350

11.6.1 项目任务 350

11.6.2 项目设计 353

11.6.3 项目做中学 357

11.6.4 总结提高 361

11.7 聊天室 361

11.7.1 项目任务 361

11.7.2 项目设计 365

11.7.3 项目做中学 367

11.7.4 总结提高 368

11.8 通用管理信息系统框架 368

11.8.1 项目任务 368

11.8.2 项目设计 370

11.8.3 项目做中学 372

11.8.4 总结提高 374

第12章 在Eclipse中进行Java应用开发 375

12.1 Eclipse的下载和安装 375

12.2 Eclipse的基本概念 377

12.3 Eclipse开发环境的设置 379

12.4 Eclipse常用操作 380

12.5 Eclipse常用编辑技巧 381

12.6 Eclipse中程序的调试技巧 382

12.7 Eclipse常见提示错误 383

附录A 怎样才算掌握了Java 385

A.1 Java知识结构模型 385

A.2 SCJP与SCJD 386

A.3 Java设计模式 387

附录B JDK文档 388

B.1 JDK文档简介 388

B.2 JDK文档的组织 388

B.3 信息检索方法 389

B.4 JDK文档的主要内容 389

附录C JDK 1.5~1.7的新特性 391

C.1 JDK 1.5的新特性 391

C.2 JDK 1.6的新特性 393

C.3 JDK 1.7的新特性 394

参考文献 395