《Java入门与实战教程》PDF下载

  • 购买积分:15 如何计算积分?
  • 作  者:杨志茹,温尚书编著
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2010
  • ISBN:9787115223500
  • 页数:479 页
图书介绍:本书通过丰富的实例讲授Java语言的基础和程序设计方法。书中包含了Java语言的20多个经典特性,并分别给出了实例,而且结合代码示例阐明要点,为学员提供了实践指南。

第1章 Java编程概述 1

1.1 Java发展简史 2

1.2 Java技术体系架构 3

1.3计算机语言的运行机制 4

1.3.1编译型 4

1.3.2解释型 4

1.4 JVM (Java Virtual Machine) 4

1.5 JRE和JDK 5

1.5.1 JRE的基本概念 5

1.5.2 JDK的基本概念 5

1.5.3 Java开发环境架设 6

1.6垃圾回收(GC) 7

1.7开发Java应用程序 8

1.7.1开发Java应用程序的基本步骤 8

1.7.2开发Java应用程序要点 9

1.7.3新手常见错误 10

小结 11

课后练习题 11

第2章 面向对象程序设计初步 13

2.1程序设计历程 14

2.2面向对象程序设计 15

2.2.1对象 15

2.2.2类 15

2.2.3类的声明 16

2.2.4属性的声明 17

2.2.5方法的声明 18

2.2.6构造器(构造方法) 18

2.2.7对象的创建和使用 20

2.3信息的封装和隐藏 24

2.3.1信息的隐藏 24

2.3.2信息的封装 24

2.4 Java源文件结构 25

2.4.1 package语句 25

2.4.2 import语句 27

2.5 JDK中常用的包 28

2.6面向对象编程术语 29

小结 29

课后练习题 30

第3章 标识符、关键字、数据类型 31

3.1 Java注释 32

3.1.1 Java程序中的单行注释和多行注释 32

3.1.2利用javadoc来产生API文档 32

3.2分隔符 37

3.2.1分号 37

3.2.2块 37

3.2.3空格 38

3.2.4圆点“.” 39

3.3标识符 39

3.4 Java关键字/保留字 40

3.5数据类型 40

3.5.1简单类型 41

3.5.2引用类型 45

3.6变量和它的作用范围 48

3.6.1局部变量 48

3.6.2成员变量 49

3.7变量初始化 50

3.7.1成员变量的初始化 50

3.7.2局部变量的初始化 52

3.8值传递 52

3.9 Java语言编码惯例 54

3.9.1命名惯例 55

3.9.2缩进 56

3.9.3页宽 56

3.9.4{}对 56

3.9.5括号 57

小结 57

课后练习题 57

第4章 运算符、表达式、流程控制 59

4.1运算符 60

4.1.1算术运算符 60

4.1.2递增、递减运算符 61

4.1.3关系和布尔运算符 61

4.1.4三元运算符 63

4.1.5位运算符 64

4.1.6移位运算符 64

4.1.7赋值运算符 65

4.1.8字符串连接运算符 69

4.1.9运算符的优先顺序 70

4.2表达式 70

4.2.1表达式中运算符的结合性 70

4.2.2表达式中运算符的优先顺序 71

4.3分支语句 71

4.3.1 Java分支语句分类 71

4.3.2 if 72

4.3.3 switch 73

4.4循环语句 74

4.4.1 for 75

4.4.2 while 76

4.4.3 do...while 77

4.4.4 break/continue语句 79

小结 83

课后练习题 83

第5章 数组 85

5.1数组基本概念 86

5.2一维数组 86

5.2.1数组定义 86

5.2.2创建数组 86

5.2.3数组初始化 87

5.2.4简单数据类型数组 90

5.2.5引用数据类型数组 90

5.2.6引用数组元素 91

5.2.7数组备份 94

5.3多维数组 96

5.3.1多维数组的定义 96

5.3.2多维数组的创建 96

5.3.3多维数组的初始化 96

5.4数据结构 97

5.4.1数据结构基础 97

5.4.2堆栈(Stack) 97

5.4.3队列(Queue) 99

5.4.4排序算法 101

小结 106

课后练习题 106

第6章 面向对象编程进阶 109

6.1类的继承 110

6.2访问控制 113

6.3方法的覆盖 114

6.4 super关键字 117

6.4.1调用父类构造器 117

6.4.2调用父类方法、属性 119

6.5方法重载 120

6.6构造器重载 121

6.7 this关键字 123

6.7.1使用this来区分当前对象 123

6.7.2在构造器中使用this来调用对象本身的其他构造器 124

6.8对象的构造和初始化 126

6.9封装类 131

6.9.1封装类 131

6.9.2在Java中实现小数的精确计算 132

6.9.3自动装箱和拆箱 133

6.10对象的toString()方法 135

6.11==和equals() 137

6.11.1==和equals()的用法 137

6.11.2覆盖equals()方法 139

6.12可变参数 141

小结 142

课后练习题 142

第7章 高级类特性 145

7.1 static关键字 146

7.1.1 static概述 146

7.1.2 static自由块 147

7.1.3 Singleton设计模式 148

7.1.4 static import 150

7.2 final关键字 151

7.2.1 final类 151

7.2.2 final变量 151

7.2.3 final方法 153

7.3抽象类 153

7.3.1 abstract概述 153

7.3.2 abstract class 154

7.3.3模板设计模式 157

7.4接口 158

7.4.1接口的定义 159

7.4.2接口的继承 160

7.4.3使用接口 161

7.5多态 162

7.5.1多态概述 162

7.5.2虚方法调用 163

7.5.3 instanceof运算符 164

7.5.4对象造型 164

7.6内部类 165

7.6.1内部类定义 166

7.6.2局部内部类 168

7.6.3匿名内部类 169

7.6.4内部类特性 169

7.7可变参数 170

7.8修饰符的适用范围 170

小结 171

课后练习题 171

第8章 异常处理 173

8.1异常概述 174

8.2 Java中的异常 174

8.2.1 Error/Exception层次关系 174

8.2.2几个异常示例 175

8.3处理Exception 177

8.3.1常见异常 177

8.3.2 Java中的异常处理机制 178

8.3.3通过try-catch-finally来处理异常 178

8.3.4将异常抛出 182

8.3.5捕获异常和抛出异常结合使用 185

8.3.6进行方法覆盖时对异常的处理 185

8.3.7自定义异常 186

8.3.8通过printStackTrace()追踪异常源头 188

小结 189

课后练习题 189

第9章 编写Java应用程序 191

9.1命令行参数 192

9.2系统属性 193

9.2.1常用系统属性 193

9.2.2 Properties类 194

9.2.3 System类中和属性相关的功能 194

9.2.4从属性文件中读出属性 195

9.3标准I/O操作 197

9.4 Math类 199

9.4.1提供数据截断(truncation)操作功能 199

9.4.2取最大、最小及绝对值功能 200

9.4.3三角函数功能 200

9.4.4对数及幂运算功能 200

9.4.5产生随机数功能 200

9.4.6数学常量 200

9.4.7 Math类使用例子 200

9.5字符串类 201

9.5.1 String 201

9.5.2 StringBuffer与StringBuilder 205

9.5.3用于连接两个String的“+”和StringBuffer的append() 205

9.6容器类 207

9.6.1 Collection接口 207

9.6.2 List 208

9.6.3 Set 211

9.6.4 Map 217

9.6.5 Iterator 219

9.6.6 Collections类 221

9.7泛型 223

9.7.1为什么需要泛型 223

9.7.2使用泛型 224

9.7.3自定义泛型 226

9.8用foreach遍历集合或数组 229

9.9枚举 230

9.9.1定义枚举类型 230

9.9.2遍历枚举类型 232

9.10文件操作 232

9.10.1基本文件操作 232

9.10.2文件过滤 235

9.11正则表达式 237

9.11.1模式 237

9.11.2在Java中使用正则表达式 239

9.12日期处理 242

9.12.1 Date类 242

9.12.2 Calendar类 242

9.12.3 TimeZone类 245

9.13 Deprecation 245

小结 247

课后练习题 247

第10章 Java流 251

10.1 I/O流概述 252

10.2流的分类 252

10.3 InputStream和OutputStream 253

10.3.1 InputStream 253

10.3.2 OutputStream 254

10.4 FileInputStream和FileOutputStream 255

10.5高级字节流 258

10.5.1 FilterInputStream和FilterOutputStream 258

10.5.2 BufferedInputStream和1B u fferedOutputStream 258

10.5.3 DataInputStream和DataOutputStream 258

10.6其他高级流 259

10.7 Reader和Writer 259

10.7.1 Reader 259

10.7.2 Writer 261

10.8读写随机访问文件(RandomAccessFile) 263

10.9重定向标准输入输出 264

10.10 Java NIO 265

10.10.1 Java NIO概述 265

10.10.2 Buffer 266

10.10.3 Channel 271

10.10.4 Charset 273

10.10.5文件锁 275

小结 276

课后练习题 276

第11章 Java GUI程序设计 277

11.1概述 278

11.1.1 Swing和MVC模式 278

11.1.2 UI (User Interface)代理和PLAF 280

11.1.3 Swing工具集 281

11.2 Swing容器和组件 283

11.2.1 JFrame 283

11.2.2 JPanel 285

11.3布局管理器 286

11.3.1 FlowLayout 287

11.3.2 BorderLayout 288

11.3.3 GridLayout 290

11.3.4 CardLayout 291

11.4事件处理 293

11.4.1事件处理基础 293

11.4.2事件处理与监听器 294

11.4.3事件适配器 298

11.4.4事件处理类和产生事件类的关系 299

11.5 Swing常用组件 303

11.5.1按钮 303

11.5.2文本输入 308

11.5.3下拉列表框(javax.swing.JComboBox) 311

11.5.4滚动面板JScrollPane 313

11.6对话框 314

11.6.1自定义对话框 314

11.6.2消息框(javax.swing.JOptionPane) 316

11.6.3文件对话框(javax.swing.JFileChooser) 316

11.7表格 317

11.8菜单 320

11.9弹出式菜单 322

11.10在Swing中画图 324

11.10.1颜色 326

11.10.2字体 328

11.11用jar命令打包程序 328

11.11.1基本参数 329

11.11.2清单文件 329

11.11.3获取Jar包内的资源 329

小结 331

课后练习题 332

第12章 Java线程 335

12.1线程概述 336

12.2 Java线程模型 336

12.3创建线程 337

12.3.1创建线程方式一 337

12.3.2创建线程方式二 338

12.3.3两种创建线程方式的比较 339

12.3.4后台线程(守护线程) 339

12.4线程状态 340

12.4.1线程基本状态 340

12.4.2线程的结束方式 342

12.5线程控制 343

12.5.1测试线程 343

12.5.2中断线程 343

12.5.3设置线程的优先级 343

12.6线程的join()方法 346

12.7多线程编程 349

12.7.1多线程概述 349

12.7.2多线程共享数据 351

12.7.3线程之间的通信 358

12.7.4避免无谓的同步 362

12.8定时器 364

12.9多线程编程一般规则 365

12.10 java.util.concurrent中的同步API 365

12.10.1线程池 366

12.10.2锁 370

12.10.3 Condition 380

小结 383

课后练习题 383

第13章 网络编程 385

13.1网络基础 386

13.1.1网络类型 386

13.1.2网络工作模式 386

13.2 Internet的形成和发展 387

13.3网络通信结构 387

13.4网络通信协议 388

13.4.1 TCP协议 388

13.4.2 IP协议 388

13.4.3 TCP/IP协议 389

13.4.4 IP地址 390

13.4.5端口号 391

13.4.6通过Java编程获得IP地址 392

13.5 Socket 393

13.6 Java Socket编程 393

13.6.1 ServerSocket 393

13.6.2 Socket类 394

13.6.3 Socket通信例子 394

13.7 Java URL类 397

13.7.1 URL举例 397

13.7.2 Java中的URL类 397

13.7.3 URL应用例子 398

小结 401

课后练习题 401

第14章 对象序列化 403

14.1概述 404

14.2将对象序列化到磁盘 404

14.2.1保存对象到磁盘文件 404

14.2.2从磁盘文件中取出保存的对象 406

14.3在网络间传递对象 407

14.4定制对象序列化 409

14.5使用transient关键字保护数据 413

14.6利用接口Externalizable来实现序列化 416

14.7使用serialVersionUID控制版本 419

14.8可序列化的内容 420

小结 420

课后练习题 421

第15章 国际化和本地化 423

15.1国际化和本地化概述 424

15.2确定地点 424

15.3格式化输出 427

15.3.1和数字相关的格式化 427

15.3.2日期和时间的格式化 429

15.4资源文件 433

15.4.1概述 433

15.4.2使用ListResourceBundle来封装资源 434

15.4.3使用属性文件来封装字符串资源 438

15.5消息的格式化 440

15.5.1概述 440

15.5.2完善输出结果 441

小结 445

课后练习题 445

第16章 Java程序员UML基础 447

16.1为什么需要建模 448

16.2 UML简介 449

16.3 UML图的种类 450

16.3.1用例图(Use Case) 450

16.3.2类图(Class) 451

16.3.3对象图(Object) 461

16.3.4包图(Package) 462

小结 464

课后练习题 464

附录 Java编程高级话题 465

A.1类型识别 466

A.2反射机制 467

A.2.1 Field类 467

A.2.2 Method类 467

A.2.3 Constructor类 467

A.3类加载 470

A.3.1类加载基础 470

A.3.2委托类加载 472

A.3.3自定义类加载机制 472

A.4字节码验证 474

A.5 Java安全管理器 475