本书是一本全面介绍Java语言特点和应用技术的实用教材。Java作为目前在Internet上最流行的编程语言,其发展完善十分迅速。使广大读者既能够全面系统地了解Java技术的特点,又能掌握最新的实用技术,是该书编写的主要目的。\r\n\r\n 全书共分三篇。第一篇Java语言规范,介绍Java语言的基本功能和特点,面向对象的概念和方法,Java语言中的面向对象特性。第二篇编程技术及应用,着重讲述如何利用Java语言的特性编写实际的应用程序,包括:怎样构造图形用户界面;编写适合于在Internet上发布的Applet程序;利用Java的多线程机制提高程序的性能;如何充分利用Java提供的强有力的网络编程能力开发网络应用。第三篇高级应用技术,包括:JDBC技术;CORBA与Java的结合——JavaIDL与Java RMI技术;作为组件技术与Java的一种优秀结合技术——JavaBeans的特点和使用。\r\n\r\n 本书既适合于作为普通高等院校计算机及相关专业的教材,又可作为广大的计算机技术爱好者自学Java技术的参考书,对于想了解和掌握有关最新高级应用技术的开发人员,也可以从本书中获得需要的参考资料。\r\n
\r\n
第一篇 Java语言规范 \r\n\r\n 第一章 Java语言概述 \r\n\r\n 1. 1 Java语言发展简史 \r\n\r\n 1. 1. 1 Java语言出现的背景 \r\n\r\n 1. 1. 2 Java语言的深远影响 \r\n\r\n 1. 2 Java的特点 \r\n\r\n 1. 2. 1 Java语言的特点 \r\n\r\n 1. 2. 2 JavaApplet的特点 \r\n\r\n 1. 2. 3 Java与C/C++的比较 \r\n\r\n 1. 3 Java程序举例 \r\n\r\n 1. 3. 1 Java应用程序(Appllcation) \r\n\r\n 1. 3. 2 Java小应用程序(Applet) \r\n\r\n 1. 3. 3 Java程序结构 \r\n\r\n 第二章 简单数据类型 \r\n\r\n 2. 1 标识符和保留字 \r\n\r\n 2. 1. 1 标识符 \r\n\r\n 2. 1. 2 保留字 \r\n\r\n 2. 2 数据类型概述 \r\n\r\n 2. 2. 1 数据类型划分 \r\n\r\n 2. 2. 2 常量和变量 \r\n\r\n 2. 3 简单数据类型 \r\n\r\n 2. 3. 1 布尔型数据 \r\n\r\n 2. 3. 2 字符型数据 \r\n\r\n 2. 3. 3 整型数据 \r\n\r\n 2. 3. 4 浮点型(实型)数据 \r\n\r\n 2. 3. 5 使用举例 \r\n\r\n 2. 4 各类型数据间的优先关系和相互转换 \r\n\r\n 2. 4. 1 自动类型转换 \r\n\r\n 2. 4. 2 强制类型转换 \r\n\r\n 第三章 运算符和表达式 \r\n\r\n 3. 1 运算符 \r\n\r\n 3. 1. 1 运算符概述 \r\n\r\n 3. 1. 2 算术运算符 \r\n\r\n 3. 1. 3 关系运算符 \r\n\r\n 3. 1. 4 布尔逻辑运算符 \r\n\r\n 3. 1. 5 位运算符 \r\n\r\n 3. 1. 6 赋值运算符 \r\n\r\n 3. 1. 7 条件运算符 \r\n\r\n 3. 2 表达式 \r\n\r\n 第四章 控制语句 \r\n\r\n 4. 1 分支语句 \r\n\r\n 4. 1. 1 条件语句if-else \r\n\r\n 4. 1. 2 多分支语句switch \r\n\r\n 4. 2 循环语句 \r\n\r\n 4. 2. 1 while语句 \r\n\r\n 4. 2. 2 do-while语句 \r\n\r\n 4. 2. 3 for语句 \r\n\r\n 4. 2. 4 举例 \r\n\r\n 4. 3 与程序转移有关的其他语句 \r\n\r\n 4. 3. 1 break语句 \r\n\r\n 4. 3. 2 continue语句 \r\n\r\n 4. 3. 3 返回语句return \r\n\r\n 4. 3. 4 举例 \r\n\r\n 4. 4 例外处理语句 \r\n\r\n 4. 5 注释语句 \r\n\r\n 第五章 面向对象技术基础 \r\n\r\n 5. 1 面向对象技术的形成与发展 \r\n\r\n 5. 2 面向对象的基本概念和特征 \r\n\r\n 5. 2. 1 对象 \r\n\r\n 5. 2. 2 消息和方法 \r\n\r\n 5. 2. 3 类 \r\n\r\n 5. 2. 4 面向对象的基本特征 \r\n\r\n 5. 3 面向对象的程序设计方法 \r\n\r\n 5. 4 面向对象的程序设计语言 \r\n\r\n 5. 4. 1 Smalltalk语言 \r\n\r\n 5. 4. 2 C++语言 \r\n\r\n 5. 4. 3 Java语言 \r\n\r\n 第六章 Java语言中的面向对象特性 \r\n\r\n 6. 1 类 \r\n\r\n 6. 1. 1 类声明 \r\n\r\n 6. 1. 2 类体 \r\n\r\n 6. 1. 3 成员变量 \r\n\r\n 6. 1. 4 成员方法 \r\n\r\n 6. 1. 5 方法重载(MethodOverloading) \r\n\r\n 6. 1. 6 构造方法 \r\n\r\n 6. 7 finalize()方法 \r\n\r\n 6. 2 对象 \r\n\r\n 6. 2. 1 对象的生成 \r\n\r\n 6. 2. 2 对象的使用 \r\n\r\n 6. 2. 3 对象的清除 \r\n\r\n 6. 3 包 \r\n\r\n 6. 3. 1 package语句 \r\n\r\n 6. 3. 2 import语句 \r\n\r\n 6. 3. 3 编译和运行包 \r\n\r\n 6. 4 面向对象特性 \r\n\r\n 6. 4. 1 封装性 \r\n\r\n 6. 4. 2 继承性 \r\n\r\n 6. 4. 3 多态性 \r\n\r\n 6. 4. 4 其他 \r\n\r\n 6. 5 抽象类和接口 \r\n\r\n 6. 5. 1 抽象类 \r\n\r\n 6. 5. 2 接口 \r\n\r\n 6. 6 InnerClass \r\n\r\n 第七章 数组 \r\n\r\n 7. 1 一维数组 \r\n\r\n 7. 1. 1 一维数组的定义 \r\n\r\n 7. 1. 2 一维数组的初始化 \r\n\r\n 7. 1. 3 一维数组元素的引用 \r\n\r\n 7. 1. 4 一维数组程序举例 \r\n\r\n 7. 2 多维数组 \r\n\r\n 7. 2. 1 二维数组的定义 \r\n\r\n 7. 2. 2 二维数组的初始化 \r\n\r\n 7. 2. 3 二维数组元素的引用 \r\n\r\n 7. 2, 4 二维数组举例 \r\n\r\n 第八章 字符串处理 \r\n\r\n 8. 1 字符串的表示 \r\n\r\n 8. 1. 1 字符串常量 \r\n\r\n 8. 1. 2 用String表示字符串 \r\n\r\n 8. 1. 3 用StringBuffer表示字符串 \r\n\r\n 8. 2 访问字符串 \r\n\r\n 8. 2. 1 String \r\n\r\n 8. 2. 2 类StringBuffer \r\n\r\n 8. 3 修改字符串 \r\n\r\n 8. 3. 1 String \r\n\r\n 8. 3. 2 类StingBuffer \r\n\r\n 8. 4 其他操作 \r\n\r\n 8. 4. 1 字符串的比较 \r\n\r\n 8. 4. 2 字符串的转化 \r\n\r\n 8. 4. 3 运算符'十'的重载 \r\n\r\n 第二篇 编程技术及应用 \r\n\r\n 第九章 例外处理 \r\n\r\n 9. 1 什么是例外 \r\n\r\n 9. 1. 1 例外示例 \r\n\r\n 9. 1. 2 例外处理机制 \r\n\r\n 9. 1. 3 例外类的类层次 \r\n\r\n 9. 2 例外的处理 \r\n\r\n 9. 2. 1 捕获例外 \r\n\r\n 9. 2. 2 声明抛弃例外 \r\n\r\n 9. 2. 3 抛弃例外 \r\n\r\n 9. 3 例外类的使用 \r\n\r\n 第十章 输入/输出处理 \r\n\r\n 10. 1 I/O流概述 \r\n\r\n 10. 1. 1 I/O流层次 \r\n\r\n 10. 1. 2 InputStream和OutputStrbeam \r\n\r\n 10. 2 文件处理 \r\n\r\n 10. 2. 1 文件描述 \r\n\r\n 10. 2. 2 文件的顺序处理 \r\n\r\n 10. 2. 3 随机访问文件 \r\n\r\n 10. 3 过滤流 \r\n\r\n 10. 3. 1 BufferedInputStream和BufferedOutputStream \r\n\r\n 10. 3. 2 LineNumberInputStream \r\n\r\n 10. 3. 3 DataInputStream和DataOutputStream \r\n\r\n 10. 3. 4 PushbackInputStream \r\n\r\n 10. 3. 5 PrintStream \r\n\r\n 10. 4 字符流处理 \r\n\r\n 10. 4. 1 Reader和Writer \r\n\r\n 10. 5 对象的串行化(Serialization) \r\n\r\n 10. 5. 1 串行化的概念和目的 \r\n\r\n 10. 5. 2 串行化方法 \r\n\r\n 10. 5. 3 串行化的注意事项 \r\n\r\n 10. 5. 4 定制串行化 \r\n\r\n 10. 6 其他常用流 \r\n\r\n 10. 6. 1 管道流 \r\n\r\n 10. 6. 2 内存的读/写 \r\n\r\n 10. 6. 3 顺序输入流 \r\n\r\n 第十一章 线程 \r\n\r\n 11. 1 线程的概念 \r\n\r\n 11. 2 线程的使用 \r\n\r\n 11. 2. 1 线程体 \r\n\r\n 11. 2. 2 线程的状态 \r\n\r\n 11. 2. 3 线程体的构造 \r\n\r\n 11. 2. 4 线程的调度 \r\n\r\n 11. 2. 5 基本的线程控制 \r\n\r\n 11. 3 多线程的互斥与同步 \r\n\r\n 11. 3. 1 临界资源问题 \r\n\r\n 11. 3. 2 互斥锁 \r\n\r\n 11. 3. 3 多线程的同步 \r\n\r\n 第十二章 图形用户界面设计 \r\n\r\n 12. 1 生成Java图形用户界面 \r\n\r\n 12. 1. 1 Java. awt包 \r\n\r\n 12. 1. 2 容器与组件 \r\n\r\n 12. 1. 3 常用容器 \r\n\r\n 12. 1. 4 容器布局 \r\n\r\n 12. 1. 5 布局管理器 \r\n\r\n 12. 1. 6 小结 \r\n\r\n 12. 2 AWT事件处理机制 \r\n\r\n 12. 2. 1 JDK1. 0事件处理模型 \r\n\r\n 12. 2. 2 JDKl. 1事件处理模型 \r\n\r\n 12. 2. 3 事件对象和监听器 \r\n\r\n 12. 2. 4 事件适配器(EventAdapters) \r\n\r\n 12. 3 AWT组件库 \r\n\r\n 12. 3. 1 按钮(Button) \r\n\r\n 12. 3. 2 复选框(Checkbox) \r\n\r\n 12. 3. 3 复选框组(CheckboxGroup)--'单选框(RadioButton)' \r\n\r\n 12. 3. 4 下拉式菜单(Choice) \r\n\r\n 12. 3. 5 画布(Canvas) \r\n\r\n 12. 3. 6 标签(Label) \r\n\r\n 12. 3. 7 单行文本输入区(TextField) \r\n\r\n 12. 3. 8 文本输入区(TextArea) \r\n\r\n 12. 3. 9 TextComponent \r\n\r\n 12. 3. 10 列表(List) \r\n\r\n 12. 3. 11 框架(Frame) \r\n\r\n 12. 3. 12 面板(Panel) \r\n\r\n 12. 3. 13 对话框(Dialog) \r\n\r\n 12. 3. 14 文件对话框(FileDialog) \r\n\r\n 12. 3. 15 滚动窗口(ScrollPane) \r\n\r\n 12. 3. 16 菜单(Menu) \r\n\r\n 12. 3. 17 控制显示效果 \r\n\r\n 第十三章 JavaApplet \r\n\r\n 13. 1 Applet简介 \r\n\r\n 13. 1. 1 什么是Applet? \r\n\r\n 13. 1. 2 载入Applet \r\n\r\n 13. 1. 3 Applet的安全机制 \r\n\r\n 13. 1. 4 'Hello World!'举例 \r\n\r\n 13. 2 Applet的执行 \r\n\r\n 13. 2. 1 Applet的创建 \r\n\r\n 13. 2. 2 Applet类的继承关系 \r\n\r\n 13. 2. 3 Applet的生命周期及主要方法 \r\n\r\n 13. 2. 4 Applet和HTML \r\n\r\n 13. 2. 5 Applet与Application \r\n\r\n 13. 2. 6 AppletViewer \r\n\r\n 13. 3 Applet的AWT绘制 \r\n\r\n 13. 3. 1 与AWT绘制过程有关的方法 \r\n\r\n 13. 3. 2 java. awt. Graphics类 \r\n\r\n 13. 3. 3 在Applet中输出文字 \r\n\r\n 13. 3. 4 Applet的AWT绘制举例 \r\n\r\n 13. 4 Applet的多媒体支持 \r\n\r\n 13. 4. 1 图像 \r\n\r\n 13. 4. 2 动画 \r\n\r\n 13. 4. 3 声音 \r\n\r\n 13. 5 Applet的通信 \r\n\r\n 13. 5. 1 同页Applet间的通信 \r\n\r\n 13. 5. 2 Applet和浏览器之间的通信 \r\n\r\n 13. 5. 3 Applet的网络通信 \r\n\r\n 第十四章 网络通信 \r\n\r\n 14. 1 URL \r\n\r\n 14. 1. 1 URL的组成和类URL \r\n\r\n 14. 1. 2 通过URL读取WWW信息 \r\n\r\n 14. 1. 3 通过URLConnetction连接到www \r\n\r\n 14. 2 Socket通信 \r\n\r\n 14. 2. 1 socket通信的一般结构 \r\n\r\n 14. 2. 2 创建socket \r\n\r\n 14. 2. 3 打开输入渤出流 \r\n\r\n 14. 2. 4 关闭socket \r\n\r\n 14. 2. 5 一个简单的client/server程序 \r\n\r\n 14. 2. 6 多客户机制 \r\n\r\n 14. 3 数据报通信 \r\n\r\n 14. 3. 1 数据报通信和流式退信 \r\n\r\n 14. 3. 2 DatagramSocket和DatagramPacket \r\n\r\n 14. 3. 3 一个简单的client/server例子 \r\n\r\n 14. 3. 4 使用数据报进行广播通信 \r\n\r\n 第三篇 高级应用技术 \r\n\r\n 第十五章 JDBC技术 \r\n\r\n 15. 1 JDBC概述 \r\n\r\n 15. 1. 1 JDBC的特点 \r\n\r\n 15. 1. 2 JDBC的结构 \r\n\r\n 15. 1. 3 数据库应用模型 \r\n\r\n 15. 2 通过JDBC访问数据库 \r\n\r\n 15. 2. 1 与数据库建立连接 \r\n\r\n 15. 2. 2 了解数据库的信息 \r\n\r\n 15. 2. 3 查询数据库 \r\n\r\n 15. 2. 4 检索结果集 \r\n\r\n 15. 2. 5 更新数据库 \r\n\r\n 15. 2. 6 参数的输入和输出 \r\n\r\n 第十六章 Java的分布式计算技术 \r\n\r\n 16. 1 CORBA与Java的集成---JavaIDL技术 \r\n\r\n 16. 1. 1 什么是CORBA \r\n\r\n 16. 1. 2 什么是JavaIDL \r\n\r\n 16. 1. 3 IDL到Java的映射 \r\n\r\n 16. 1. 4 使用JavaIDL的开发过程 \r\n\r\n 16. 1. 5 JavaIDL技术总结 \r\n\r\n 16. 2 JavaRMl技术 \r\n\r\n 16. 2. 1 什么是JavaRMI \r\n\r\n 16. 2. 2 RMI系统的一般结构 \r\n\r\n 16. 2. 3 使用RMI构造分布式应用系统 \r\n\r\n 第十七章 JavaBeans \r\n\r\n 17. 1 JavaBeans概述 \r\n\r\n 17. 1. 1 什么是JavaBeans \r\n\r\n 17. 1. 2 JavaBean的特征 \r\n\r\n 17. 1. 3 Beans开发工具库(BDK) \r\n\r\n 17. 1. 4 BeanBox \r\n\r\n 17. 2 构造一个简单的Bean \r\n\r\n 17. 3 Enterprise JavaBeans介绍 \r\n\r\n 17. 3. 1 EJB概要 \r\n\r\n 17. 3. 2 软构件模型 \r\n\r\n 17. 3. 3 EJB构件模型的目标 \r\n\r\n 17. 3. 4 EJB和其他技术的关系 \r\n\r\n 附录练习题 \r\n\r\n 练习一(第一至四章) \r\n\r\n 练习二(第五至九章) \r\n\r\n 练习三(第十至十一章) \r\n\r\n 练习四(第十二至十四章) \r\n
\r\n
计算机系统的计算模式经历了从集中计算模式(1946—1983年)到分散计算模式(1984—1993年)的发展. 而自从1993年WWW推出以来, 世界已进入了以网络为中心的计算时代, 即网络计算模式. 在这种发展趋势下, 计算机处理信息的方法与过程都发生了根本的演变:
1. 处理的对象从各种类型的数据向具有丰富内容的知识的发展,
2. 处理的形式和方法从数据结构向知识表示的发展,
3. 处理的过程从算法指导向推理指导与问题求解的发展,
4. 处理的结果从静态的文本格式发展为动态的多模式的链接, 包括声音. 图形. 图像. 文字. 影视. 卡通. 电子表格, 等等.
更重要的是在知识的内涵“质”的变化:知识的内涵不仅仅只是语义的表达, 而是可以有多模式的表现形式, 即声音. 图形. 图像. 文字. 影视. 卡通. 电子表格, 等等. 而知识的传播形式则借助于WWW. 用户使用的环境千差万别, 而要都能实现充分地从中获取. 利用信息与知识, Java则是最理想的工具之一.
Java从1995年5月23日正式发布以来, 发展势头异常迅猛, 如今它已不仅仅是一门语言, 而已逐渐成长为一门技术, 包括Java的芯片技术. Java的编译技术. Java的数据库连接技术. 基于Java的信息家电的连网技术(Jini技术). 企业信息服务的综合求解方案技术(Enterprise JavaBeans, EJB), 等等. 这些技术都是与人类生活息息相关的, 对国民经济的发展, 对提高我们民族的科学技术和文化教育水平都具有重要的意义.
在西方发达国家里, 几乎所有著名的高等学校都先后开设了有关Java技术的课程(尽管所使用的名称不一样), 甚至一些文科专业都争相开设. 这是因为, “Java技术的应用与发展是未来知识经济与信息技术发展的一个晴雨表”, 甚至掌握Java技术就抓住了“找工作与就业的好机会!”事实上, 具有“Java程序员”(Java ProgrammerCenification)和“Java开发员”(JavaDeveloperCenifiction)“资格证书”的人, 在美国各地区很容易找到工作, 而且其薪金比一般的软件开发人员要高.
我们国家也正在掀起使用Java的热潮, 从网上购物. 网上银行. 远程教学. 虚拟课堂. 远程医疗和诊断, 直到“电子政府”, 都在纷纷使用Java技术.
因此, “学会Java!掌握Java!熟练地使用Java!”就是本书的初哀.
在本书的编写过程中, 得到了清华大学计算机系知识工程组全体成员的大力支持和帮助, 特别是刘波硕士. 姜河硕士和王少锋博士为本书的编写提供了许多宝贵的资料和经验, 朱家维教授审阅了全书, 在此对他们表示衷心的感谢.
王克宏
1999年4月
无封面