《Java就业培训教程》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:张孝祥编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2003
  • ISBN:9787302072959
  • 页数:394 页
图书介绍:本书共分11章。第1章详细地讲解了Java开发环境的搭建、反编译工具的使用、JDK文档资料的查阅,Java程序的编译、运行过程。在第2章中,全面地讲解Java的基本语法知识,对基本语法的讲解不是泛泛而谈,而在在其中贯穿各种实际应用中的巧妙用法和注意事项。在第3章和第4章中,透彻系统地讲解了面向对象的思想和应用。在以后的章节中,用通俗易懂的手法、紧密联系实际应用的方式,深入浅出地讲解了多线程、常用Java类、Java中的I/O(输入输出)编程、GUI与Applet、网程编程等方面的知识。作者结合了多年实际开发与教学经验,收集了众多学员在学习中常提到的问题,对平时讲课的内容进行了精心整理。读者从本书中不仅可以学习到Java本身方面的知识,还能学到了许多编程思想和实际操作手法。本书语言流畅,内容翔实,分析透彻,是一本适合广大计算机编程爱好者的优秀读物。

第1章 Java开发前奏 1

1.1 Java虚拟机及Java的跨平台原理 2

1.2 Java开发环境的搭建 3

1.2.1 环境变量的介绍 5

1.2.2 如何查看系统环境变量 5

1.2.3 如何设置系统环境变量 7

1.3 体验Java编程的过程 9

脚下留心:运行Java程序的注意事项 11

1.4 classpath的设置 12

2.如何在命令行窗口中拷贝和粘帖 13

脚下留心:配置Java环境变量时应忌讳的问题 13

多学两招:1.如何快速得到路径字符串 13

3.如何在命令行窗口中快速进入某个目录 14

1.5 有效利用Java的文档帮助 16

1.6 JVM(虚拟机)的运行过程 18

1.7 垃圾回收器 19

1.8 反编译工具的介绍 21

1.8.1 JAD 21

1.8.2 FrontEnd 21

2.1.3 Java是一种自由格式的语言 24

2.1.2 Java是严格区分大小写的 24

第2章 Java编程基础 24

2.1 Java基本语法格式 24

2.1.1 Java代码的落脚点 24

脚下留心:1.字符串的断行问题 25

2.分号(;)问题 25

2.1.4 Java程序的注释 25

2.1.5 Java中的标识符 26

2.1.6 Java的关键字 26

不得不说:养成良好的编程风格 26

脚下留心:程序注释中应注意的一些问题 26

2.1.7 Java中的常量 27

多学两招:特殊字符的表示 28

2.2 变量及变量的作用域 29

2.2.1 变量的概念 29

2.2.2 Java的变量类型 29

独家见解:数值所代表的意义 30

2.2.3 注意变量的有效取值范围 31

2.2.4 基本数据类型之间的转换 31

2.2.5 表达式的数据类型自动提升 33

独家见解:轻松理解类型转换 33

多学两招:字符串中的加号(+)问题 35

2.2.6 变量的作用域 35

脚下留心:Java与C/C++的区别 36

2.2.7 局部变量的初始化 36

2.3 函数与函数的重载 37

2.3.1 函数 37

独家见解:如何理解函数返回值类型为void的情况 40

2.3.3 函数的重载 42

多学两招:形式参数的作用 42

2.3.2 函数的参数传递过程 42

2.4 Java中的运算符 44

2.4.1 算术运算符 44

多学两招:两个经典算法 45

2.4.2 赋值运算符 45

脚下留心:“==”运算符的注意事项 46

2.4.3 比较运算符 46

2.4.4 逻辑运算符 47

2.4.5 位运算符 48

脚下留心:使用移位运算符应注意的事项 50

多学两招:移位的特殊功能 50

2.4.6 运算符的优先级 51

2.5 程序的流程控制 52

2.5.1 顺序结构 52

2.5.2 if条件语句 52

多学两招:一种更简单的写法 54

2.5.3 switch选择语句 57

2.5.4 while循环语句 58

脚下留心:while表达式的注意事项 59

2.5.5 do while语句 60

2.5.6 for循环语句 61

多学两招:无限循环 63

2.5.7 break与continue语句 63

2.6 数组 64

2.6.1 数组的基本概念 64

多学两招:内存分配的奥秘 65

2.6.2 数组的静态初始化 67

2.6.3 使用数组时要注意的问题 68

2.6.4 多维数组 70

2.6.5 一些与数组操作相关的函数 72

3.1.2 面向对象 75

3.1.1 面向过程 75

第3章 面向对象(上) 75

3.1 面向对象的概念 75

3.2 类与对象 76

3.2.1 类的定义 77

脚下留心:成员变量与局部变量同名的问题 77

3.2.2 对象的产生与使用 78

3.2.3 对象的比较 81

多学两招:怎样比较两个数组对象的内容是否相等 83

3.2.4 匿名对象 83

3.2.5 实现类的封装性 84

指点迷津:良好的封装 87

多学两招:Private的试验 87

3.3 构造函数 88

3.3.1 构造函数的定义与作用 88

脚下留心:如何理解构造函数的返回值 89

3.3.2 构造方法的重载 90

3.3.3 构造方法的一些细节 93

3.4 this引用句柄 95

3.5.1 finalize方法 100

3.5 与垃圾回收有关的知识 100

3.5.2 System.gc的作用 102

3.6 函数的参数传递 103

3.6.1 基本数据类型的参数传递 103

3.6.2 引用数据类型的参数传递 103

3.7 Static关键字 107

3.7.1 静态变量 107

3.7.2 静态方法 110

3.7.3 静态代码块 111

3.7.4 单态设计模式 112

3.7.5 理解main方法的语法 113

3.8 内部类 114

3.8.1 类中定义的内部类 115

指点迷津:何时使用内部类 116

3.8.2 内部类如何被外部引用 119

3.8.3 方法中定义的内部类 120

3.9 使用Java的文档注释 121

第4章 面向对象(下) 126

4.1 类的继承 126

4.1.1 继承的特点 126

4.1.2 子类对象的实例化过程 129

4.1.3 覆盖父类的方法 131

4.1.4 final关键字 133

多学两招:Java中的常量 134

4.2 抽象类与接口 134

4.2.1 抽象类 134

4.2.2 接口(interface) 135

4.3 对象的多态性 137

4.3.1 对象的类型转换 137

4.3.2 Object类 141

4.3.3 面向对象的多态性 142

独家见解:接口的概念 144

4.3.4 匿名内部类 146

4.4 异常 148

4.4.1 了解异常 148

4.4.2 try...catch语句 149

脚下留心:发挥try...catch语句的作用 150

4.4.3 throws关键字 150

4.4.4 自定义异常与Throw关键字 152

4.4.5 finally关键字 155

多学两招:如何实现程序的跳转 155

4.4.6 异常的一些使用细节 157

4.4.7 Java引入异常的好处 157

4.5 包 158

4.5.1 package语句及应用 158

指点迷津:1.类名相同不等同于同一类 161

2.同名包的目录位置 161

脚下留心:不要被旧文件所迷惑 162

4.5.2 import语句及应用 163

多学两招:父包和子包之间的关系 165

4.5.3 JDK中的常用包 166

4.6 访问控制 167

4.6.1 类成员的访问控制 167

4.6.2 类的访问控制 168

多学两招:类名与文件名 168

4.6.3 Java的命名习惯 168

4.7 使用jar文件 168

4.7.1 jar文件包 169

4.7.2 jar命令详解 169

4.7.3 使用WinRAR对jar文件进行查看 172

指点迷津:1.注意jar文件的相对路径问题 173

2.快速查看jar包中的类 174

第5章 多线程 176

5.1 如何创建与理解线程 176

5.1.1 了解线程概念 176

5.1.2 用Thread类创建线程 176

5.1.3 使用Runnable接口创建多线程 180

5.1.4 两种实现多线程方式的对比分析 181

5.1.5 后台线程与联合线程 184

5.1.6 多线程在实际中的应用 187

5.2 多线程的同步 189

5.2.1 线程安全问题 189

5.2.2 同步代码块 191

5.2.3 同步函数 194

5.2.4 代码块与函数间的同步 195

多学两招:同步的注意事项 199

5.2.5 死锁问题 200

5.3 线程间的通信 202

5.3.1 问题的引出 202

5.3.2 问题如何解决 203

5.4 线程生命的控制 211

5.4.1 线程的生命周期 211

5.4.2 如何控制线程的生命 212

第6章 Java API 215

6.1 理解API的概念 215

6.2 工具软件的介绍与使用 216

6.3 String类和StringBuffer类 217

脚下留心:内容相同,对象不同 218

6.4 基本数据类型的对象包装类 221

6.5 集合类 223

多学两招:对List接口的对象进行排序 227

6.6 Hashtable与Properties类 227

6.7 System类与Runtime类 232

6.7.1 System类 232

多学两招:检测程序段运行的时间 232

6.7.2 Runtime类 234

6.8 Date与Calendar,DateFormat类 235

6.9 Math与Random类 237

6.10 学习API的方法 238

7.1 File类 239

第7章 IO/输入输出 239

7.2 RandomAccessFile类 241

7.3 节点流 244

7.3.1 理解流的概念 244

7.3.2 InputStream与OutputStream 245

指点迷津:1.如何选择输入与输出 245

2.为什么要调用close方法 245

多学两招:IO中的缓冲区 246

7.3.3 FileInputStream与FileOutputStream 247

7.3.4 Reader与Writer 248

独家见解:隐含的缓冲区 250

7.3.5 PipedInputStream与PipedOutputStream 250

独家见解:管道流类的作用 252

7.3.6 ByteArrayInputStream与ByteArrayOutputStream 252

7.3.7 IO程序代码的复用 254

7.4 过滤流与包装类 256

7.4.1 理解包装类的概念与作用 256

7.4.2 BufferedInputStream与BufferedOuputStream 258

脚下留心:使用mark时应考虑的问题 258

7.4.3 DataInputStream与DataOutputStream 259

7.4.4 PrintStream 261

指点迷津:何谓格式化输出 262

7.4.5 ObjectInputStream与ObjectOutputStream 262

指点迷津:如何处理字符乱码问题 265

7.4.6 字节流与字符流的转换 265

7.4.7 IO包中的类层次关系图 267

7.5 IO中的高级应用 269

7.5.1 字符集的编码问题 269

指点迷津:如何处理字符乱码问题 277

7.5.2 Decorator设计模式 280

7.5.3 Java虚拟机读写其他进程的数据 281

多学两招:提高程序的运行效率 284

第8章 图形用户界面GUI(一) 286

8.1 初识AWT 286

8.2 AWT线程 287

8.3 AWT事件处理 288

8.3.1 事件处理机制 288

8.3.2 用事件监听器处理事件 290

指点迷津:同一事件源的不同表示类型 292

8.3.3 事件适配器 293

8.3.4 事件监听器的匿名内置类实现方式 296

8.3.5 事件处理的多重运用 297

8.3.6 高级事件处理 298

8.4 GUI组件上的图形操作 301

8.4.1 Graphics类 301

指点迷津:如何打印字符文本 304

独家见解:JDK的失误 304

8.4.2 组件重绘 304

8.4.3 图像操作 308

8.4.4 双缓冲的技术 312

9.1.1 Component类 315

第9章 图形用户界面GUI(二) 315

9.1 常用AWT组件 315

9.1.2 Canvas 316

9.1.3 Checkbox 318

9.1.4 Choice 321

9.1.5 菜单 322

9.1.6 Container类 325

9.1.7 Window类 326

9.1.8 Dialog 326

9.1.10 ScrollPane类 329

9.1.9 Panel类 329

9.2 布局管理器 331

9.2.1 了解布局管理 331

9.2.2 BorderLayout 332

9.2.3 FlowLayout 333

9.2.4 GridLayout 334

9.2.5 CardLayout 335

9.2.6 GridBagLayout 337

9.2.7 取消布局管理器 337

9.3.2 从AWT过渡到Swing 339

9.3 Swing 339

9.3.1 Swing介绍 339

9.3.3 JFrame 340

9.3.4 JScrollPane 341

9.3.5 对话框 342

9.3.6 计算器界面的程序实现 343

9.3.7 BoxLayout布局管理器 345

第10章 Applet 347

10.1 浏览器怎样显示网页 347

10.2 浏览器处理网页脚本代码的过程 347

10.3 浏览器怎么处理Applet 348

10.4 Applet类及其方法 351

指点迷津:destroy()与finalize()的区别 353

10.5 一个显示动画的Applet的程序 354

10.5.1 URL类 356

10.5.2 update方法 358

多学两招:学会容器与插件的设计思想 359

10.6 关于Applet的一些细节 359

10.6.1 Applet的运行环境 359

10.6.2 Applet程序中如何使用控制台输出 360

10.6.3 Applet程序中需要注意的问题 361

10.6.4 Applet标记 362

脚下留心:参数名的大小写问题 364

10.6.5 OBJECT标记 364

脚下留心:使用HTMLConverter工具的注意事项 367

10.7 验证Applet对象在客户端如何存在 367

第11章 网络编程 369

11.1 网络编程的基础知识 369

11.1.1 TCP/IP网络程序的IP地址和端口号 369

11.1.3 Socket 370

11.1.2 UDP与TCP 370

11.2 Java编写UDP网络程序 372

11.2.1 DatagramSocket 372

11.2.2 DatagramPacket 373

11.2.3 InetAddress 373

11.2.4 最简单的UDP程序 374

指点迷津:UDP数据的发送原理 375

多学两招:中文信息的处理 376

11.2.5 用UDP编写聊天程序 376

11.3 Java编写TCP网络程序 382

11.3.1 ServerSocket 383

11.3.2 Socket 384

11.3.3 简单的TCP服务器程序 385

指点迷津:TCP程序的运行 386

多学两招:使用telnet测试TCP客户端程序 388

11.3.4 完善的TCP服务器程序模型 388

指点迷津:服务器回送结果与发送字符不一致 390

11.3.5 TCP客户端程序 391

多学两招:利用netstat命令,查看程序使用的端口号 392

指点迷津:1.怎样理解应用程序协议和网络通信协议的关系 393

2.怎样区分ASP、JSP与网络编程的概念 394