《Java实用教程》PDF下载

  • 购买积分:16 如何计算积分?
  • 作  者:(美)希尔特(Schildt,H.)著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2009
  • ISBN:9787302189565
  • 页数:510 页
图书介绍:本书全面地介绍了Java的编程基础,采用最新的Java SE6版本,用逐步的指导来帮助读者快速掌握Java的编程技术。

第1章 Java基础 1

1.1 Java的起源 2

Java与C和C++的关系 3

Java与C#的关系 3

1.2 Java对Internet的贡献 4

Java Applet 4

安全性 4

可移植性 5

1.3 Java的魔法:字节码 5

1.4 Java的主要术语 6

1.5面向对象程序设计 7

封装 8

多态性 8

继承 9

1.6第一个简单的程序 10

输入程序 10

编译程序 11

逐行分析第一个程序 11

1.7第二个简单程序 14

练习1-1将加仑换算为升 17

1.8两个控制语句 18

if语句 18

for循环语句 20

1.9创建代码块 21

1.10分号和定位 23

练习1-2改进从加仑到升的转换程序 24

1.11 Java的保留关键字 25

1.12 Java的标识符 26

1.13思考与练习 27

第2章 数据类型与运算符 28

2.1 Java的原语类型 29

整数类型 29

浮点型 31

字符型 31

布尔类型 33

练习2-1闪电有多远? 34

2.2字面值 35

十六进制与八进制常量 35

字符转义序列 35

字符串字面值 36

2.3变量详解 37

初始化变量 37

动态初始化 37

2.4作用域和变量的生命期 38

2.5算术运算符 41

2.6关系运算符和逻辑运算符 43

2.7赋值运算符 46

2.8速记赋值 46

2.9赋值中的类型转换 47

2.10不兼容类型的强制转换 48

练习2-2显示逻辑运算符的真值表 51

2.11表达式 52

表达式中的类型转换 52

间距和圆括号 54

2.12思考与练习 54

第3章 程序控制语句 56

3.1从键盘输入字符 57

3.2 if语句 58

嵌套if语句 59

if-else-if阶梯状结构 60

3.3 switch语句 62

练习3-1建立一个Java帮助系统 65

3.4 for循环 68

for循环的一些变体 69

缺失部分要素的for循环 70

无限循环 71

没有循环体的循环 71

在for循环内部声明循环控制变量 72

增强型for循环 73

3.5 while循环 73

3.6 do-while循环 75

练习3-2改进Java帮助系统 77

3.7使用break语句退出循环 79

3.8将break语句作为一种goto语句使用 81

3.9使用continue 85

练习3-3完成Java帮助系统 87

3.10嵌套的循环 90

3.11思考与练习 91

第4章 类、对象和方法 93

4.1类的基础知识 94

类的基本形式 94

定义类 95

4.2如何创建对象 98

4.3引用变量和赋值 98

4.4方法 99

4.5从方法返回值 102

4.6返回值 102

4.7使用参数 104

练习4-1创建Help类 107

4.8构造函数 113

4.9带参数的构造函数 114

4.10深入介绍new运算符 116

4.11垃圾回收与终止器 117

练习4-2演示垃圾回收 118

4.12 this关键字 120

4.13思考与练习 122

第5章 其他数据类型与运算符 123

5.1数组 124

练习5-1排序数组 127

5.2多维数组 129

5.3不规则数组 130

三维或更多维的数组 131

初始化多维数组 132

5.4另一种声明数组的语法 133

5.5数组引用赋值 134

5.6使用length成员 135

练习5-2 Queue类 137

5.7 for-each形式的循环 141

5.8字符串 145

构造字符串 146

操作字符串 146

字符串数组 148

字符串是不可变的 149

5.9使用命令行参数 150

5.10位运算符 152

位运算符的与、或、异或和非 152

位移运算符 156

位运算符赋值速记符 158

练习5-3 ShowBits类 158

5.11“?”运算符 161

5.12思考与练习 163

第6章 方法和类详解 164

6.1控制对类成员的访问 165

练习6-1改进Queue类 169

6.2向方法传递对象 171

6.3从方法返回对象 175

6.4方法重载 177

6.5重载构造函数 182

练习6-2重载Queue构造函数 184

6.6递归 187

6.7理解static关键字 189

练习6-3快速排序 193

6.8嵌套类和内部类 196

6.9可变长度变元 199

Varargs基础 199

重载Varargs方法 202

Varargs和歧义 203

6.10思考与练习 204

第7章 继承 206

7.1继承的基础知识 207

7.2构造函数和继承 212

7.3使用super访问超类成员 218

练习7-1扩展Vehicle类 219

7.4创建多级层次结构 222

7.5何时调用构造函数 225

7.6超类引用和子类对象 226

7.7方法重写 231

7.8重写的方法支持多态性 234

为何使用重写的方法 235

在TwoDShape中应用方法重写 236

7.9使用抽象类 240

7.10使用final 244

使用final防止重写 244

使用final防止继承 245

对数据成员使用final 245

7.11 Object类 246

7.12思考与练习 247

第8章 包和接口 248

8.1包 249

定义包 249

寻找包和CLASSPATH 250

一个简短的包的示例 250

8.2包和成员访问 252

8.3理解被保护的成员 254

8.4导入包 256

8.5 Java的类库位于包中 258

8.6接口 258

8.7实现接口 259

8.8使用接口引用 263

练习8-1创建队列接口 265

8.9接口中的变量 271

8.10接口能够扩展 272

8.11思考与练习 273

第9章 异常处理 274

9.1异常的层次结构 275

9.2异常处理基础 275

使用try和catch 276

一个简单的异常示例 276

9.3未捕获异常的结果 278

9.4使用多个catch语句 281

9.5捕获子类异常 282

9.6可嵌入的try代码块 283

9.7抛出异常 285

9.8 Throwable详解 287

9.9使用finally 288

9.10使用throws 290

9.11 Java的内置异常 292

9.12创建异常子类 294

练习9-1向排序类添加异常 295

9.13思考与练习 299

第10章 使用I/O 300

10.1 Java的I/O基于流 301

10.2字节流和字符流 301

10.3字节流类 301

10.4字符流类 302

10.5预定义流 302

10.6使用字节流 303

读取控制台输入 304

写入控制台输出 305

10.7使用字节流读写文件 306

从文件输入 306

写入文件 308

10.8读写二进制数据 310

练习10-1文件比较程序 314

10.9随机访问文件 316

10.10使用Java字符流 319

使用字符流的控制台输入 320

使用字符流的控制台输出 322

10.11使用字符流的文件I/O 324

使用FileWriter 324

使用FileReader 325

10.12使用Java类型包装器转换数值字符串 327

练习10-2创建一个基于磁盘的帮助系统 329

10.13思考与练习 335

第11章 多线程程序设计 336

11.1多线程基本原理 337

11.2 Thread类和Runnable接口 337

11.3创建一个线程 338

练习11-1扩展Thread 343

11.4创建多重线程 346

11.5确定线程何时结束 348

11.6线程的优先级 351

11.7同步化 354

11.8使用同步化方法 355

11.9同步化语句 358

11.10使用notify()、wait()和notifyAll()的线程通信 360

11.11线程的挂起、继续执行和停止 365

练习11-2使用主线程 369

11.12思考与练习 371

第12章 枚举、自动装箱和静态导入 372

12.1枚举 373

12.2 Java的枚举是类类型 376

12.3 values()和valueOf()方法 376

12.4构造函数、方法、实例变量和枚举 377

12.5枚举继承Enum 379

练习12-1计算机控制的交通指示灯 380

12.6类型包装器 386

12.7自动装箱基础 387

12.8自动装箱和方法 388

12.9发生在表达式中的自动装箱/自动拆箱 389

12.10静态导入 391

12.11注释(元数据) 394

12.12思考与练习 396

第13章 泛型 397

13.1泛型基础 398

13.2一个简单的泛型示例 398

13.3约束类型 404

13.4使用通配符变元 407

13.5约束通配符 410

13.6泛型方法 412

13.7泛型构造函数 414

13.8泛型接口 415

练习13-1创建一个泛型队列 417

13.9原类型和遗留代码 421

13.10擦除特性 424

13.11歧义错误 425

13.12一些泛型限制 426

13.13思考与练习 428

第14章 Applet、事件和其他议题 429

14.1 applet基础 430

14.2 applet层次结构 433

14.3一个完整的applet框架 433

14.4 applet初始化与终止 434

14.5请求重绘 435

练习12-1一个简单的广告条applet 436

14.6使用状态窗口 440

14.7向applet传递参数 441

14.8 Applet类 443

14.9委派事件模型 444

事件 444

事件源 444

事件侦听者 445

事件类 445

事件侦听者接口 445

14.10使用委派事件模型 446

处理鼠标事件 447

一个简单的鼠标事件applet 448

14.11其他Java关键字 451

transient和volatile修饰符 451

instanceof 451

strictfp 452

assert 452

Native方法 452

14.12思考与练习 454

第15章 Swing基础 455

15.1 Swing的起源和设计原则 456

15.2组件和容器 458

组件 458

容器 459

顶级容器窗格 459

15.3布局管理器 459

15.4第一个简单的Swing程序 460

15.5使用JButton 465

15.6使用JTextField 468

15.7创建JCheckBox 472

15.8使用JList 475

练习15-1一个基于Swing的文件比较实用程序 478

15.9使用匿名内部类处理事件 484

15.10创建一个Swing applet 484

15.11思考与练习 487

附录 思考与练习答案 489