《JAVA从入门到精通 第2版》PDF下载

  • 购买积分:21 如何计算积分?
  • 作  者:龙马高新教育策划;魔乐科技(MLDN)软件实训中心编著;张玉宏主编
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2015
  • ISBN:7115375124
  • 页数:774 页
图书介绍:

第0章 Java学习指南 1

0.1 Java的来源 2

0.2 Java的基本思想 4

0.3 Java的技术体系 4

0.4 Java无处不在 6

0.5 Java学习经验谈 8

0.6 Java学习路线图 9

第1篇 基础知识 12

第1章 揭开Java的神秘面纱 12

1.1 Java开发环境 13

1.2 安装Java开发工具箱 13

1.2.1 下载JDK 14

1.2.2 在Windows 7中安装JDK 17

1.2.3 在Red Hat Enterprise Linux中安装JDK 20

1.2.4 在Ubuntu操作系统中安装JDK 22

1.3 磨刀不误砍柴工——环境变量的配置 25

1.3.1 理解环境变量 25

1.3.2 配置JDK中的3个环境变量 27

1.4 享受安装成果——开发第1个Java程序 32

1.5 探秘Java虚拟机(JVM) 34

1.6 高手点拨 35

1.7 实战练习 36

第2章 流行的Java开发工具——Eclipse 37

2.1 认识Eclipse开发工具 38

2.1.1 Eclipse概述 38

2.1.2 Eclipse的安装、设置与启动 38

2.1.3 Eclipse工作台 46

2.1.4 Eclipse菜单栏 47

2.2 使用Eclipse开始工作 51

2.2.1 创建Java项目 51

2.2.2 创建Java类文件 52

2.2.3 在代码编辑器中编写Java程序代码 54

2.2.4 运行Java程序 57

2.3 在Eclipse中调试程序 58

2.4 高手点拨 60

2.5 实战练习 62

第3章 初识庐山真面目——Java程序要素概览 63

3.1 一个简单的例子 64

3.2 感性认识Java程序 66

3.2.1 认识Java程序的框架 66

3.2.2 认识标识符 68

3.2.3 认识关键字 68

3.2.4 认识注释 69

3.2.5 认识变量 70

3.2.6 认识数据类型 71

3.2.7 认识运算符和表达式 72

3.2.8 认识类 73

3.2.9 输入与输出 73

3.3 程序的检测 76

3.3.1 语法错误 76

3.3.2 语义错误 77

3.4 提高程序的可读性 78

3.5 高手点拨 79

3.6 实战练习 80

第4章 最常用的编程元素——常量与变量 81

4.1 常量 82

4.1.1 声明常量 82

4.1.2 常量应用示例 82

4.2 变量 83

4.2.1 声明变量 83

4.2.2 变量的命名规则 85

4.2.3 变量的作用范围 85

4.3 高手点拨 88

4.4 实战练习 89

第5章 不可不知的数据分类法——数据类型 91

5.1 数据类型的意义 92

5.2 整数类型 93

5.2.1 byte类型 93

5.2.2 short类型 94

5.2.3 int类型 95

5.2.4 long类型 97

5.3 浮点类型 98

5.3.1 float类型 99

5.3.2 double类型 99

5.4 字符类型(char) 101

5.5 布尔类型(boolean) 104

5.6 数据类型的转换 105

5.6.1 自动类型转换 105

5.6.2 强制类型转换 107

5.7 基本数据类型的默认值 108

5.8 高手点拨 109

5.9 实战练习 109

第6章 最重要的编程部件——运算符、表达式与语句 111

6.1 运算符 112

6.1.1 赋值运算符 112

6.1.2 一元运算符 113

6.1.3 算术运算符 114

6.1.4 逻辑运算符 117

6.1.5 位运算符 120

6.1.6 三元运算符 122

6.1.7 关系运算符与if语句 123

6.1.8 递增与递减运算符 124

6.1.9 括号运算符 125

6.1.10 运算符的优先级 126

6.2 表达式 127

6.2.1 算术表达式 130

6.2.2 关系表达式 131

6.2.3 逻辑表达式 131

6.2.4 赋值表达式 132

6.2.5 表达式的类型转换 133

6.3 语句 135

6.3.1 语句中的空格 135

6.3.2 空语句 136

6.3.3 声明语句 137

6.3.4 赋值语句 137

6.4 高手点拨 137

6.5 实战练习 138

第7章 程序执行方向——程序控制结构 139

7.1 程序逻辑 140

7.1.1 顺序结构 140

7.1.2 分支结构 140

7.1.3 循环结构 141

7.2 选择结构 142

7.2.1 if语句 142

7.2.2 if...else语句 143

7.2.3 if...else if...else语句 144

7.2.4 多重选择——switch语句 146

7.3 循环结构 148

7.3.1 while循环 148

7.3.2 do...while循环 150

7.3.3 for循环 152

7.3.4 foreach循环 154

7.3.5 循环嵌套 155

7.4 循环的跳转 156

7.4.1 break语句 156

7.4.2 continue语句 159

7.4.3 retum语句 162

7.5 高手点拨 163

7.6 实战练习 164

第8章 常用的数据结构——数组 165

8.1 理解数组 166

8.2 一维数组 169

8.2.1 一维数组的声明与内存的分配 169

8.2.2 数组中元素的表示方法 170

8.2.3 数组元素的赋值 172

8.2.4 数组应用范例 174

8.3 二维数组 175

8.3.1 二维数组的声明与分配内存 175

8.3.2 二维数组元素的引用及访问 177

8.4 多维数组 178

8.5 高手点拨 179

8.6 实战练习 180

第9章 面向对象设计——类和对象 181

9.1 理解面向对象程序设计 182

9.1.1 结构化程序设计简介 182

9.1.2 面向对象程序设计简介 182

9.1.3 面向对象程序设计的基本特征 183

9.1.4 面向对象编程和面向过程编程的比较 184

9.2 面向对象的基本概念 185

9.2.1 类 185

9.2.2 对象 185

9.2.3 类和对象的关系 186

9.3 类的声明与定义 187

9.3.1 类的声明 187

9.3.2 类的定义 188

9.4 类的属性 190

9.4.1 属性的定义 190

9.4.2 属性的使用 191

9.5 对象的声明与使用 193

9.5.1 对象的声明 193

9.5.2 对象的使用 195

9.5.3 匿名对象 197

9.5.4 对象的比较 198

9.5.5 对象数组的使用 201

9.6 高手点拨 203

9.7 实战练习 206

第10章 重复调用的代码块——方法 207

10.1 方法的基本定义 209

10.2 方法的使用 210

10.3 方法中的形参与实参 212

10.4 方法的重载 212

10.5 构造方法 216

10.5.1 构造方法 217

10.5.2 构造方法的重载 219

10.5.3 构造方法的私有化 223

10.6 在方法内部调用方法 227

10.7 方法的递归调用 228

10.8 代码块 231

10.8.1 普通代码块 231

10.8.2 构造代码块 233

10.8.3 静态代码块 235

10.9 方法与数组 236

10.9.1 数组引用传递 237

10.9.2 在方法中实现排序 239

10.9.3 让方法返回数组 241

10.10 与数组有关的操作方法 243

10.10.1 数组的克隆 243

10.10.2 数组的排序 245

10.11 高手点拨 247

10.12 实战练习 250

第11章 快速归类整型常数——枚举 251

11.1 枚举简介 252

11.2 自定义的枚举 252

11.3 Java中的枚举 254

11.3.1 常见的枚举定义方法 255

11.3.2 在程序中使用枚举 255

11.3.3 在switch语句中使用枚举 256

11.4 枚举类和枚举关键字 257

11.4.1 枚举类 258

11.4.2 枚举关键字 259

11.4.3 枚举类与枚举关键字的联系 260

11.5 类集对于枚举的支持 262

11.5.1 EnumMap 262

11.5.2 EnumSet 264

11.6 深入了解枚举 266

11.6.1 枚举的构造方法 266

11.6.2 枚举的接口 268

11.6.3 在枚举中定义抽象方法 271

11.7 高手点拨 273

11.8 实战练习 273

第2篇 核心技术 276

第12章 类的封装、继承与多态 276

12.1 面向对象的三大特点 277

12.1.1 封装的含义 277

12.1.2 继承的含义 277

12.1.3 多态的含义 278

12.2 封装的实现 280

12.2.1 Java访问权限修饰符 280

12.2.2 封装问题引例 280

12.2.3 类的封装实例 282

12.2.4 封装问题的总结 288

12.2.5 实现封装应该注意的问题 288

12.3 继承的实现 290

12.3.1 继承的基本概念 290

12.3.2 继承问题的引出 291

12.3.3 实现继承 293

12.3.4 继承的限制 294

12.4 深度认识类的继承 297

12.4.1 子类对象的实例化过程 297

12.4.2 super关键字的使用 298

12.4.3 限制子类的访问 302

12.5 覆写 305

12.5.1 方法的覆写 305

12.5.2 属性的覆写 309

12.6 多态的实现 310

12.6.1 多态的基本概念 310

12.6.2 方法多态性 312

12.6.3 对象多态性 313

12.6.4 隐藏 317

12.7 高手点拨 319

12.8 实战练习 320

第13章 抽象类与接口 321

13.1 抽象类 322

13.1.1 抽象类的基本概念 322

13.1.2 抽象类应用——模板设计模式 327

13.2 接口 330

13.2.1 接口的基本概念 331

13.2.2 接口的使用原则 332

13.2.3 接口的作用——制定标准 340

13.2.4 接口的作用——工厂设计模式(Factory) 341

13.2.5 接口的作用——代理设计模式(Proxy) 344

13.3 抽象类和接口对比 346

13.4 高手点拨 347

13.5 实战练习 350

第14章 关于类的专题研究 351

14.1 众类鼻祖——Object类 352

14.1.1 取得对象信息:toString() 353

14.1.2 对象相等判断方法:equals() 355

14.1.3 对象签名hashcode() 357

14.1.4 使用Object接收任意引用数据类型对象 359

14.2 内部类 361

14.2.1 内部类的基本定义 361

14.2.2 使用static定义的内部类就是外部类 363

14.2.3 在方法中定义内部类 364

14.3 匿名内部类 366

14.4 匿名对象 367

14.5 this关键字的使用 368

14.6 static关键字的使用 373

14.6.1 使用static定义属性 373

14.6.2 使用static定义方法 376

14.6.3 Static主方法(main) 378

14.6.4 Static应用——Static代码块及静态导入 379

14.7 final关键字的使用 380

14.8 instanceof关键字的使用 382

14.9 高手点拨 384

14.10 实战练习 384

第15章 储存类的仓库——Java常用类库 385

15.1 API概念 386

15.2 基本数据类型的包装类 386

15.2.1 装箱与拆箱 387

15.2.2 基本数据类型与字符串的转换 388

15.3 System类与Runtime类 391

15.3.1 System类 391

15.3.2 Runtime类 392

15.4 日期操作类 394

15.4.1 日期类 394

15.4.2 日期格式化类 396

15.5 正则表达式 397

15.5.1 正则的引出 397

15.5.2 正则标记 399

15.5.3 利用string进行正则操作 400

15.6 Math与Random类 402

15.7 大型数字操作类 403

15.7.1 大型整数操作类BigInteger 403

15.7.2 大型浮点数操作类BigDecimal 405

15.8 Integer类 406

15.9 Boolean类 407

15.10 Byte类 408

15.11 高手点拨 410

15.12 实战练习 410

第16章 解读Java中的String类 411

16.1 String类 412

16.1.1 字符串的声明 412

16.1.2 再看String类 412

16.1.3 string类的两种实例化方式 412

16.1.4 String内容的比较 414

16.1.5 字符串常量是String类的匿名对象 417

16.1.6 两种字符串实例化方式的区别 417

16.1.7 字符串一旦声明则不可改变 421

16.1.8 String类的常用方法 422

16.2 高手点拨 431

16.3 实战练习 432

第17章 对象的引用与传递 433

17.1 初步了解引用传递 434

17.2 引用数据类型的传递 436

17.3 引用传递与现实生活的联系 440

17.4 引用小分析——集成设计模式 442

17.5 对象克隆 443

17.6 反射机制 445

17.6.1 认识反射 445

17.6.2 反射的其他操作 450

17.7 高手点拨 453

17.8 实战练习 455

第18章 包及访问权限 457

18.1 包的概念及使用 458

18.1.1 包(package)的基本概念 458

18.1.2 包的导入 459

18.1.3 JDK中常见的包 461

18.2 类成员的访问控制权限 462

18.3 Java的命名规范 464

18.4 打包工具——Jar命令的使用 464

18.5 构造方法私有化—单例设计模式(Singleton) 465

18.6 多例设计模式 468

18.7 高手点拨 470

18.8 实战练习 470

第19章 异常的捕获与处理 471

19.1 异常的基本概念 472

19.1.1 为何需要异常处理 472

19.1.2 简单的异常范例 473

19.1.3 异常的处理 474

19.1.4 异常处理机制小结 479

19.2 异常类的处理流程 479

19.3 throws关键字 480

19.4 throw关键字 481

19.5 异常处理的标准格式 482

19.6 RuntimeException类 484

19.7 编写自己的异常类 485

19.8 高手点拨 486

19.9 实战练习 486

第20章 Java类集框架 487

20.1 认识类集框架 488

20.2 类集接口 488

20.3 单值保存的最大父接口——Collection 489

20.4 Collection接口的具体实现类 490

20.5 允许重复的子接口——List 491

20.5.1 ArrayList类 492

20.5.2 LinkedList类 494

20.5.3 旧的子类——Vector 496

20.6 数组操作类——Arrays 500

20.7 比较器 502

20.7.1 Comparable接口 502

20.7.2 挽救的比较器接口——Comparator 504

20.8 不允许重复的子接口——Set 506

20.8.1 HashSet类 507

20.8.2 TreeSet类 508

20.8.3 SortedSet接口 509

20.9 类集的输出 510

20.9.1 迭代器 510

20.9.2 单向迭代输出——Iterator 510

20.9.3 双向迭代——ListIterator 512

20.9.4 废弃的枚举输出——Enumeration 513

20.9.5 for-each输出 515

20.10 偶对象保存接口——Map 516

20.10.1 映射接口 516

20.10.2 映射类 518

20.10.3 比较方法 522

20.10.4 旧的子类——Hashtable 525

20.10 与关于Map集合的输出问题 527

20.11 前期版本遗留下来的类和接口 529

20.11.1 Stack类 529

20.11.2 Dictionary类 531

20.11.3 属性操作类——Properties类 531

20.11.4 在Properties类中使用store()和load()方法 534

20.12 Collections类 535

20.13 Java 8中的泛型 536

20.13.1 知识回顾 536

20.13.2 了解新内容 537

20.14 高手点拨 537

20.15 实战练习 538

第21章 给编译器看的注解——Annotation 539

21.1 Annotation的含义 540

21.2 系统内建的Annotation 540

21.2.1 @Override 540

21.2.2 @Deprecated 542

21.2.3 @SuppressWamings 543

21.3 自定义Annotation 544

21.4 Retention和RetentionPolicy 547

21.5 反射与Annotation 548

21.5.1 取得全部的Annotation 549

21.5.2 取得指定的Annotation 550

21.6 深入Annotation 551

21.6.1 Target 551

21.6.2 Documented注释 552

21.6.3 Inherited 553

21.7 高手点拨 554

21.8 实战练习 554

第3篇 高级应用 556

第22章 齐头并进完成任务——多线程 556

22.1 感知多线程 557

22.1.1 现实生活中的多线程 557

22.1.2 进程与线程 557

22.2 体验多线程 558

22.2.1 通过继承Thread类实现多线程 560

22.2.2 通过Runnable接口实现多线程 562

22.2.3 两种多线程实现机制的比较 564

22.3 线程的状态 567

22.4 线程操作的一些方法 569

22.4.1 取得和设置线程的名称 571

22.4.2 判断线程是否启动 573

22.4.3 守护线程与setDaemon方法 575

22.4.4 线程的联合 576

22.4.5 线程的中断 578

22.5 多线程的同步 580

22.5.1 同步问题的引出 580

22.5.2 同步代码块 582

22.5.3 同步方法 583

22.5.4 死锁 585

22.6 线程间通信 588

22.6.1 问题的引出 588

22.6.2 问题如何解决 589

22.7 线程生命周期的控制 595

22.8 高手点拨 597

22.9 实战练习 598

第23章 文件I/O操作 599

23.1 文件操作类——File 600

23.2 RandomAccess File类 605

23.3 字节流与字符流 608

23.3.1 字节输出流——OutputStream 609

23.3.2 字节输入流——InputStream 611

23.3.3 字符输出流——Writer 614

23.3.4 字符输入流——Reader 615

23.3.5 字节流与字符流的转换 618

23.4 管道流 621

23.5 内存操作流 623

23.6 打印流 626

23.6.1 输出问题的提出 626

23.6.2 打印流的使用 626

23.6.3 打印流的更新 629

23.7 合并(序列)流 630

23.8 System类对I/O的支持 633

23.9 字符编码 634

23.10 对象序列化 638

23.10.1 对象序列化的基本概念 638

23.10.2 对象输出流——ObjectOutputStream 639

23.10.3 对象输入流——ObjectInputStream 639

23.10.4 反序列化的基本概念 640

23.10.5 transient关键字 641

23.11 Java 8中有关流的新功能 642

23.12 高手点拨 646

23.13 实战练习 646

第24章 Java网页小程序——Java Applet 647

24.1 Applet程序简介 648

24.2 Eclipse开发Applet的流程 648

24.3 Applet程序中使用的几个基本方法 651

24.4 在HTML中嵌入Applet程序 653

24.4.1 HTML代码的基本结构 653

24.4.2 Applet标记 654

24.4.3 在HTML中传递Applet程序使用的参数 655

24.5 高手点拨 657

24.6 实战练习 658

第25章 Java网络程序设计 659

25.1 Socket介绍 660

25.2 ServerSocket概念 660

25.3 Socket程序 661

25.4 DatagramSocket程序 669

25.5 网络编程的基本概念 672

25.6 TCP程序实现 672

25.6.1 简单的TCP程序 672

25.6.2 加入多线程 674

25.7 UDP程序实现 675

25.8 网络编程的经典案例:Echo程序 676

25.9 高手点拨 678

25.10 实战练习 678

第26章 Java数据库编程 679

26.1 数据库连接的基本概念 680

26.2 使用数据库的准备工作 681

26.3 JDBC的使用 681

26.3.1 Oracle数据库的安装 681

26.3.2 数据库连接驱动程序设置 683

26.3.3 数据库表的准备 684

26.3.4 连接数据库的步骤 685

26.4 数据库连接的详细步骤 686

26.5 操作数据库 687

26.5.1 更新数据表 687

26.5.2 查询数据表 690

26.5.3 删除数据表 693

26.6 查询信息实例 695

26.7 与数据库相关的接口 697

26.7.1 完成增加操作 697

26.7.2 完成查询操作 699

26.7.3 完成模糊查询操作 701

26.8 PrepareStatement接口 702

26.9 批处理 704

26.10 事务处理 706

26.11 MySQL数据库 708

26.11.1 MySQL数据库的安装 708

26.11.2 MySQL数据库的基本命令 709

26.11.3 使用MySQL数据库 711

26.12 高手点拨 712

26.13 实战练习 712

第27章 DAO设计模式 713

27.1 程序的分层 714

27.2 具体问题的分析 715

27.3 定义数据传输/表现层对象类(DTO/VO) 716

27.4 定义数据层操作接口(DAO接口)和实现类 718

27.5 定义业务层操作接口(service)和实现类 734

27.6 编写其他辅助类 740

27.6.1 编写数据库连接操作类:DatabaseConnection 740

27.6.2 编写过滤器类 741

27.7 高手点拨 742

27.8 实战练习 742

第4篇 项目实战 744

第28章 Java项目开发实战——OA办公系统 744

28.1 系统概述 745

28.1.1 运行系统 745

28.1.2 系统的开发步骤 746

28.2 系统需求分析 747

28.3 系统设计 748

28.3.1 相关信息 748

28.3.2 数据库设计 749

28.4 代码实现 749

28.4.1 User VO.java 749

28.4.2 DatabaseConnection.java 750

28.4.3 User_InformSelectDAO 751

28.4.4 User_InformInsertDAO.java 751

28.4.5 User_InformUpdateDAO.java 753

28.4.6 User_InformDeleteDAO.java 755

28.4.7 LoginService.java和LoginServlet.java 756

28.5 高手点拨 756

28.6 实战练习 756

第29章 Java项目开发实战——电子商务网站平台开发 757

29.1 系统概述 758

29.1.1 运行系统 758

29.1.2 系统的开发步骤 759

29.2 系统需求分析 760

29.3 系统设计 761

29.3.1 相关信息 761

29.3.2 系统功能模块划分 762

29.3.3 数据库设计 763

29.3.4 整体架构设计 764

29.4 代码实现 765

29.4.1 User.java 765

29.4.2 Goods.java 766

29.4.3 Order.java 768

29.4.4 UserDAO.java 769

29.4.5 UserDAOImpl.java 769

29.4.6 OrderDAO.java 771

29.4.7 PlancingOrderServlet.java 773

29.5 高手点拨 774

29.6 实战练习 774