《Java学习宝典》PDF下载

  • 购买积分:17 如何计算积分?
  • 作  者:匡松,何嘉主编
  • 出 版 社:北京:中国铁道出版社
  • 出版年份:2010
  • ISBN:9787113107574
  • 页数:590 页
图书介绍:本书全面讲解了Java语言的相关技术。全书共分五篇,包括Java语言基础、面向对象程序设计、Java开发中的高级技术、Java Web开发、项目案例开发实践。本书适合作为Java程序设计人员的学习参考书。

第1篇 Java语言基础 3

第1章 Java开发基础 3

1.1 什么是Java 3

1.1.1 Java语言的产生 3

1.1.2 Java平台 4

1.2 Java语言的特点 4

1.3 Java与其他面向对象语言的区别 7

1.3.1 Java与C++的区别 7

1.3.2 Java与C#的区别 7

1.4 Java语言的发展前景 8

1.5 搭建开发环境 9

1.5.1 下载和安装JDK 9

1.5.2 获取帮助文档 11

1.5.3 设置Path环境变量 12

1.5.4 设置C1assPath环境变量 14

1.5.5 使用命令行工具 14

1.5.6 使用集成开发环境 15

1.6 第一个Java应用程序 16

1.6.1 编写源代码 16

1.6.2 使用命令行工具编译 16

1.6.3 使用命令行工具执行 16

1.7 第一个Java小应用程序 17

1.7.1 编写源代码 17

1.7.2 使用命令行工具编译 18

1.7.3 编辑HTML网页文件 18

1.7.4 运行HTML网页文件 18

小结 19

第2章 数据类型和程序流程控制 20

2.1 关键字与标识符 20

2.1.1 关键字 20

2.1.2 标识符 21

2.1.3 如何做到规范命名 22

2.2 常用基本数据类型 22

2.2.1 整型 22

2.2.2 浮点型 23

2.2.3 字符型 23

2.2.4 布尔型 23

2.3 常量与变量 24

2.3.1 常量 24

2.3.2 变量 24

2.3.3 常量与变量的区别 25

2.4 运算符 25

2.4.1 算术运算符 25

2.4.2 关系运算符 26

2.4.3 逻辑运算符 27

2.4.4 位运算符 27

2.4.5 赋值运算符 28

2.4.6 其他运算符 29

2.4.7 运算符的优先级别 29

2.5 类型转换 30

2.5.1 自动类型转换 30

2.5.2 强制类型转换 31

2.6 注释符 31

2.7 Java程序的基本结构 32

2.7.1 类是一个基本单元 32

2.7.2 main方法 33

2.7.3 自定义方法 34

2.7.4 System.out.println的使用 34

2.7.5 一个简单而完整的程序 35

2.8 顺序结构 36

2.9 分支结构 37

2.9.1 if...else分支结构 37

2.9.2 if...else嵌套 38

2.9.3 switch语句 39

2.9.4 编程实例 40

2.10 循环结构 42

2.10.1 while循环 42

2.10.2 do...while循环 43

2.10.3 for循环 43

2.10.4 编程实例 45

2.11 跳转结构 48

2.11.1 break 48

2.11.2 continue 48

2.11.3 编程实例 49

小结 50

第3章 数组和字符串 51

3.1 Java中的数组 51

3.1.1 一维数组 51

3.1.2 二维数组 53

3.1.3 多维数组 53

3.2 数组的length属性 53

3.3 Arrays数组工具类的用法 54

3.4 编程实例 55

3.5 String字符串 62

3.5.1 构造方法 63

3.5.2 String常用方法 63

3.6 StringBuffer字符串 68

3.6.1 构造方法 69

3.6.2 StringBuffer常用方法 69

3.7 String与StringBuffer的区别 70

3.8 equale与==的区别 70

3.9 编程实例 70

小结 76

第2篇 面向对象程序设计 79

第4章 类和对象 79

4.1 传统过程程序设计概述 79

4.2 面向对象程序设计概述 80

4.2.1 抽象 81

4.2.2 封装 81

4.2.3 继承 82

4.2.4 多态 82

4.3 类 83

4.3.1 类的定义 83

4.3.2 类的访问权限修饰符 84

4.3.3 构造方法 84

4.3.4 成员变量的定义 85

4.3.5 成员变量访问权限修饰符 87

4.3.6 成员方法的定义 87

4.3.7 方法的访问权限修饰符 89

4.4 对象 90

4.4.1 对象的概念 90

4.4.2 类与对象的区别 90

4.4.3 new关键字 91

4.4.4 对象引用成员变量 93

4.4.5 对象引用成员方法 93

4.4.6 对象的销毁 95

4.4.7 JVM垃圾回收 97

4.5 类中的静态成员 98

4.5.1 静态成员变量 98

4.5.2 静态成员方法 98

4.5.3 静态成员与非静态成员的区别 99

小结 100

第5章 继承与多态 101

5.1 继承与多态的概述 101

5.2 类的继承 102

5.2.1 类继承的实现 102

5.2.2 变量与方法的继承 103

5.2.3 子类对父类构造方法的继承和调用 104

5.2.4 关于类的继承的进一步说明 105

5.3 最终类final 107

5.4 super关键字 107

5.5 this关键字 109

5.6 方法的覆盖 111

5.7 成员变量的隐藏 112

5.8 方法的重载 113

5.9 父类与子类的转换 114

小结 115

第6章 抽象类与接口 117

6.1 抽象类概述 117

6.2 接口的概述 117

6.3 抽象类与接口的区别 118

6.4 抽象类的定义 118

6.4.1 abstract关键字 118

6.4.2 抽象方法的定义 119

6.5 抽象类的使用说明 119

6.6 接口的定义 120

6.6.1 关键字interface 121

6.6.2 接口的使用规则 121

6.6.3 接口多态的应用 123

6.7 接口的使用说明 124

小结 126

第7章 内部类与匿名类 127

7.1 内部类概述 127

7.2 内部类的语法及应用 127

7.2.1 实例内部类 127

7.2.2 静态内部类 130

7.2.3 局部内部类 131

7.3 匿名类概述 132

7.4 匿名类的语法及应用 133

7.4.1 与类有关的匿名类 133

7.4.2 与接口有关的匿名类 135

小结 136

第8章 Java常用类库 137

8.1 Object的讲解 137

8.1.1 Object概述 137

8.1.2 toString()方法的覆盖 138

8.1.3 equals()方法的覆盖 139

8.1.4 对象的克隆 141

8.2 Math类和BigInteger类 146

8.2.1 Math概述 146

8.2.2 random()方法 147

8.2.3 数字的格式控制 148

8.2.4 BigInteger类 148

8.3 数据类型封装类 150

8.3.1 Integer类 150

8.3.2 Long类 152

8.3.3 Byte类 152

8.3.4 Short类 153

8.3.5 Float类 153

8.3.6 Double类 154

8.3.7 Boolean类 154

8.4 包 154

8.4.1 包的概念 154

8.4.2 自动导入的包 155

8.4.3 包的命名 156

8.4.4 import关键字 157

8.4.5 package关键字 158

小结 160

第9章 异常处理 161

9.1 异常的概念 161

9.1.1 什么是异常(What) 161

9.1.2 为什么要有异常(Why) 162

9.1.3 从哪里来,往哪里去(Where) 162

9.1.4 什么时候(When) 162

9.1.5 哪种异常(Which) 166

9.2 异常类 167

9.2.1 异常类的层次结构 167

9.2.2 Exception类以及子类 168

9.2.3 Error类以及子类 168

9.3 异常处理机制 169

9.3.1 异常的产生 169

9.3.2 异常处理 170

9.4 抛出异常 173

9.4.1 throw语句 173

9.4.2 throws语句 174

9.5 自定义异常 176

9.5.1 定义异常类 176

9.5.2 抛出异常 177

9.5.3 捕获并处理异常 177

小结 178

第10章 集合框架 180

10.1 Java集合概述 180

10.2 Collection接口 180

10.2.1 Collection概述 181

10.2.2 Collection层次结构 181

10.2.3 常用方法 181

10.3 List集合 182

10.3.1 ArrayList类的使用 182

10.3.2 LinkedList类的使用 184

10.3.3 Vector类的使用 185

10.3.4 Stack类的使用 186

10.4 枚举和迭代 187

10.5 Set集合 189

10.5.1 HashSet类的使用 190

10.5.2 TreeSet类的使用 191

10.5.3 HashSet与TreeSet的区别 193

10.6 Map接口 193

10.6.1 Map层次结构 194

10.6.2 使用HashMap类 194

10.6.3 使用TreeMap类 196

10.7 Collections工具类 198

10.7.1 Collections的常用方法 198

10.7.2 Collections应用实例 199

小结 201

第11章 输入/输出操作 202

11.1 I/O流概述 202

11.2 字节流 203

11.2.1 InputStream类和OutputStream类 203

11.2.2 字节流的常用方法 204

11.2.3 文件流FileInputStream类 204

11.2.4 文件流FileOutputStream类 205

11.2.5 缓存流BufferedInputStream类 206

11.2.6 缓存流BufferedOutputStream类 208

11.2.7 基本数据流DatalnputStream类 208

11.2.8 基本数据流DataOutputStream类 209

11.3 字符流 210

11.3.1 Reader类和Writer类 210

11.3.2 字符流的常用方法 211

11.3.3 缓存流BufferedReader流 212

11.3.4 缓存流BufferedWriter流 213

11.3.5 转换流InputStreamReader类 214

11.3.6 转换流OutputStreamWriter类 214

11.3.7 PrintStream类/PrintWriter类 214

11.3.8 编程实例 216

11.4 File文件类 217

11.4.1 File概述 217

11.4.2 File构造方法 217

11.4.3 File的常用方法 218

11.4.4 编程实例 219

11.5 随机文件类RandomAccessFile 222

11.5.1 RandomAccessFile概述 222

11.5.2 RandomAccessFile常用方法 223

11.6 对象序列化 225

11.6.1 对象流ObjectInputStream类 226

11.6.2 对象流ObjectOutputStream类 227

11.6.3 Serializable接口 228

小结 230

第3篇 Java开发中的高级技术 233

第12章 多线程 233

12.1 线程的概述 233

12.1.1 进程 233

12.1.2 线程 234

12.2 线程的创建方式 234

12.2.1 继承线程类 234

12.2.2 实现线程接口 236

12.3 线程的生命周期 237

12.4 线程的调度和优先级 239

12.5 线程的控制 240

12.5.1 线程的启动 240

12.5.2 线程的休眠 240

12.5.3 当前线程状态的检查 244

12.5.4 结束线程 245

12.6 线程的同步问题 247

12.6.1 使用synchronized同步块 247

12.6.2 使用synchronized同步方法 249

12.7 线程的死锁问题 251

12.7.1 造成死锁的原因 251

12.7.2 哲学家进餐的问题 252

12.7.3 解决线程死锁问题 253

12.7.4 实例—模拟解决死锁问题 253

12.8 线程间的通信 258

12.8.1 与线程间通信相关的方法 258

12.8.2 生产者—消费者问题 258

小结 261

第13章 反射机制 262

13.1 什么是反射 262

13.2 反射包reflection概述 263

13.3 Class概述 265

13.4 获取Class的方式 267

13.4.1 getClass() 267

13.4.2 使用类的名字表达式 268

13.4.3 forName() 269

13.5 使用反射的好处 270

13.5.1 获取某类的成员变量 270

13.5.2 获取某类的成员方法 271

13.5.3 修改成员的值 273

小结 275

第14章 泛型 276

14.1 为什么使用泛型 276

14.2 定义泛型类的语法 276

14.3 泛型编程实例 279

14.4 泛型的高级语法 284

14.4.1 通配字符 284

14.4.2 限制泛型 285

小结 286

第15章 JDBC程序设计 288

15.1 JDBC概述 288

15.2 数据库的基本操作 289

15.3 JDBC常用接口使用介绍 292

15.3.1 Driver 293

15.3.2 DriverManager 293

15.3.3 Connection 294

15.3.4 Statement 296

15.3.5 ResultSet 296

15.3.6 CallableStatement 297

15.4 Java连接数据库 298

15.4.1 注册数据库驱动程序 299

15.4.2 获得数据库连接 300

15.4.3 发送和执行SQL语句 301

15.4.4 Java连接数据库编程实例 301

15.5 执行静态SQL 302

15.6 执行预编译SQL 304

15.7 结果集ResultSet 306

15.7.1 ResultSet的常用方法 306

15.7.2 可滚动和可更新的结果集 306

15.8 存储过程 311

15.8.1 存储过程的建立 311

15.8.2 执行存储过程 312

15.9 事务的处理 314

15.9.1 什么是事务 314

15.9.2 Java中事务的处理 314

小结 316

第4篇 Java Web开发 319

第16章 Tomcat的使用 319

16.1 Tomcat介绍 319

16.2 Tomcat的工作模式 319

16.2.1 Servlet容器 320

16.2.2 Tomcat的工作模式 320

16.3 Tomcat安装 321

16.3.1 安装JDK 321

16.3.2 安装Tomcat 321

16.3.3 Tomcat 6.0新特性及变化 322

16.4 Tomcat的目录结构及相关设置 322

16.4.1 预览目录结构 322

16.4.2 相关设置 323

16.5 测试运行Tomcat 324

16.6 Tomcat下部署Web程序 324

16.6.1 部署描述符web.xml 325

16.6.2 实例演示:创建和发布过程 335

16.7 通过IDE部署Web程序 339

小结 341

第17章 Servlet技术 342

17.1 Servlet介绍 342

17.2 Servlet和CGI的比较 343

17.3 Servlet的生命周期 343

17.3.1 加载和实例化Servlet 344

17.3.2 初始化 344

17.3.3 处理请求 346

17.3.4 服务结束 347

17.4 Servlet API 347

17.4.1 javax.servlet包 348

17.4.2 javax.servlet.http包 362

17.5 会话跟踪 372

17.5.1 会话状态跟踪API 373

17.5.2 会话状态跟踪API示例 375

17.6 Cookie概述 377

17.6.1 Cookie操作 377

17.6.2 使用Cookie的Servlet 378

小结 381

第18章 JSP技术 382

18.1 JSP技术概述 382

18.1.1 动态网页技术比较 382

18.1.2 JSP工作原理 383

18.2 JSP核心语法 384

18.2.1 JSP页面的基本结构 384

18.2.2 变量的声明 386

18.2.3 表达式 386

18.2.4 JSP脚本 387

18.2.5 JSP的注释 388

18.2.6 JSP的指令标签 389

18.2.7 JSP的动作标签 393

18.3 JSP的内置对象 400

18.3.1 request对象 400

18.3.2 response对象 402

18.3.3 session对象 404

18.3.4 aplication对象 406

18.3.5 out对象 407

18.3.6 Cookie对象 408

18.3.7 page对象 410

18.3.8 exception对象 410

18.3.9 pageContext对象 410

18.3.10 Config对象 412

小结 412

第19章 JavaBean技术 413

19.1 JavaBean概述 413

19.2 JavaBean的属性 414

19.3 在JSP页面中使用JavaBean 417

19.4 JavaBean的范围 421

19.5 使用JavaBean实现购物车 423

19.5.1 需求概述 423

19.5.2 建立数据库表 423

19.5.3 编写JavaBean 424

19.5.4 编写购物页面 425

小结 432

第20章 Servlet高级应用——监听器及过滤器 433

20.1 监听器 433

20.1.1 ServletContextListener 433

20.1.2 HttpSessionListener 433

20.1.3 ServletRequestListener 434

20.1.4 ServletContextAttributeListener 434

20.1.5 HttpSessionActivationListener 434

20.1.6 HttpSessionAttributeListener 435

20.1.7 HttpSessionBindingListener 435

20.1.8 ServletRequestAttributeListener 436

20.1.9 web.xml配置 436

20.2 Servlet过滤器 436

20.2.1 创建Servlet过滤器 437

20.2.2 配置过滤器 438

20.2.3 过滤器执行流程 438

20.3 监听器编程实例 439

20.4 过滤器编程实例 439

小结 442

第5篇 项目案例开发实践 445

第21章 学生网上选课系统的设计 445

21.1 学生网上选课系统概述 445

21.2 建立数据库 446

21.2.1 设计数据库实体 446

21.2.2 使用MySQL Administrator建立表 449

21.3 系统功能模块设计 450

21.3.1 系统结构设计 450

21.3.2 登录用例的设计与实现 455

21.3.3 查看课表用例的设计与实现 461

21.3.4 查看课程列表用例的设计与实现 466

21.3.5 查看教师信息用例的设计与实现 468

21.3.6 选课用例的设计与实现 471

21.3.7 退课用例的设计与实现 474

21.3.8 打印课表用例的设计与实现 475

21.4 完整实例 475

21.4.1 项目结构 475

21.4.2 运行项目 476

小结 477

第22章 设计一个简单的购物网站 478

22.1 系统概述 478

22.2 数据库设计 479

22.3 系统功能模块设计 481

22.3.1 MVC模式 481

22.3.2 本例使用MVC模式的方式 481

22.3.3 数据库访问的设计与实现 483

22.3.4 用户登录用例的设计与实现 486

22.3.5 浏览商品用例的设计与实现 489

22.3.6 购物车维护用例的设计与实现 494

22.3.7 其他增删改用例的设计与实现 500

22.4 完整实例 501

22.4.1 数据库的准备 501

22.4.2 生成项目 502

22.4.3 运行项目 503

小结 505

第23章 英语论坛 506

23.1 应用背景与主要技术介绍 506

23.1.1 应用背景 506

23.1.2 功能介绍 506

23.1.3 JSP简介 506

23.1.4 Servlet简介 507

23.2 总体设计与概要说明 508

23.3 业务流程图 508

23.4 程序实现 509

23.4.1 公共的数据库访问类设计 509

23.4.2 数据存取对象的设计 512

23.4.3 前台页面的设计 515

23.4.4 后台Servlet的设计 526

23.5 程序的部署 529

小结 529

第24章 Umbrella企业站 530

24.1 应用背景与主要技术介绍 530

24.1.1 应用背景 530

24.1.2 功能介绍(需求) 530

24.1.3 Struts2简介 530

24.1.4 Hibernate简介 531

24.1.5 Spring简介 532

24.2 总体结构图 532

24.3 业务流程图 532

24.4 程序实现 533

24.4.1 带日志功能的Action设计 533

24.4.2 消息资源文件struts-globalMessages.properties的设计 533

24.4.3 日志文件log4j.properties的设计 533

24.4.4 Struts2属性文件struts.properties的设计 534

24.4.5 Struts2映射列表文件struts.xml的设计 535

24.4.6 Struts2映射列表文件struts-superPackage.xml的设计 535

24.4.7 Struts2各个子映射列表文件的设计 536

24.4.8 Spring配置文件的设计 540

24.4.9 连接池配置文件proxool.cfg.xml的设计 543

24.4.10 J2EE Web应用配置文件web.xml 543

24.5 管理员模块 545

24.5.1 展示层JSP实现 545

24.5.2 控制层Struts2实现 546

24.6 程序的部署 563

24.6.1 数据库的部署 563

24.6.2 使用eclipse来部署工程Umbrella企业站 563

24.6.3 运行系统 564

小结 564

第25章 成都大学班级之家v1.0 565

25.1 应用背景与主要功能介绍 565

25.1.1 应用背景 565

25.1.2 功能介绍 565

25.2 程序实现 565

25.2.1 DAO层的实现 565

25.2.2 Service层的实现 571

25.2.3 Action层的实现 578

25.2.4 JSP页面实现 585

25.3 程序的部署 588

25.3.1 数据库的部署 588

25.3.2 使用eclipse来部署工程“成都大学班级之家” 588

25.3.3 运行系统 589

小结 589

参考文献 590