本书讲解学习Java语言的基本方法,介绍Java程序设计基础知识及其编程思想,内容包括Java语言的基础语法、面向对象的基本概念、数组、字符串、异常处理、文件和数据流、图形用户界面设计、小应用程序、线程、编程规范、网络程序设计、多媒体与图形学程序设计以及数据库程序设计等。本书的章节编排与书写以人们学习与认知过程为基础,与实际开发的需求相匹配。本书内容力求简洁,每章都附有习题,使得读者在轻松和欢乐之中迅速地了解与掌握Java程序设计的知识和方法,并应用到实践中去。
本书内容丰富易学,既可以作为计算机专业和非计算机专业的基础教材,也可以作为需要学习Java语言的工程人员和科技工作者的自学参考书。
第1章 绪论
1.1 历史简介
1.2 特点
1.3 开发环境的建立
1.4 Java程序及其执行过程
1.4.1 开发Java程序的工作流程
1.4.2 Java程序的工作原理
1.5 本章小结
习题
第2章 结构化程序设计
2.1 标识符和关键字
2.2 基本数据类型、直接量和变量
2.2.1 基本数据类型
2.2.2 直接量
2.2.3 变量
2.3 运算符
2.3.1 算术运算符
2.3.2 关系运算符
2.3.3 布尔逻辑运算符
2.3.4 位运算符
2.3.5 赋值类运算符
2.3.6 条件运算符
2.3.7 其他运算符
2.4 控制结构
2.4.1 if语句和if-else语句
2.4.2 switch语句
2.4.3 for语句
2.4.4 while语句
2.4.5 do-while语句
2.4.6 break语句
2.4.7 continue语句
2.5 结构化程序设计
2.6 本章小结
习题
第3章 面向对象程序设计
3.1 面向对象程序设计基本思想
3.2 类、实例、域和方法
3.2.1 类、域和方法的定义
3.2.2 引用数据类型、实例生成和几类特殊的方法
3.3 继承性
3.4 多态性
3.4.1 静态多态性
3.4.2 动态多态性
3.5 包.
3.6 封装性
3.7 修饰词
3.8 接口
3.9 内部类
3.10 变量作用域范围与方法调用
3.10.1 变量作用域范围
3.10.2 方法调用
3.11 递归方法与压缩方法
3.12 本章小结
习题
第4章 数组、字符串与异常处理
4.1 数组
4.I.1 一维数组
4.1.2 多维数组
4.2 字符串
4.2.1 String
4.2.2 StringBuffer
4.3 异常处理
4.3.1 异常及其种类
4.3.2 异常产生
4.3.3 异常处理示例
4.3.4 自定义异常类型
4.4 本章小结
习题
第5章 文件与数据流
5.1 输入流与输出流
5.1.1 1nputStream和FilelnputStream
5.1.2 OutputStream和FileOutputStream
5.1.3 PrintStream
5.1.4 标准输入输出流的重定向
5.2 数据的输人流和输出流
5.3 带缓存的输人流和输出流
5.4 随机访问文件
5.5 读写器
5.5.1 Reader和Writer
5.5.2 FileReader和FileWriter
5.5.3 BufferedReader和BufferedWriter
5.5.4 PrintWriter
5.6 对象串行化
5.7 文件
5.8 本章小结
习题
第6章 图形用户界面设计
6.1 基本GUI组件和容器
6.1.1 概述
6.1.2 JLabel、JTextField和JPasswordField
6.1.3 JButton、JCheckBox和JRadioButton
6.1.4 JComboBox和JIAst
6.1.5 JTextArea和JScr01lPane
6.1.6 JSlider
6.1.7 JFrame和JPanel
6.2 布局管理器
6.2.1 FlowLayout
6.2.2 BorderLayout
6.2.3 GridLayout
6.2.4 BoxLayout
6.2.5 GridBagLayout
6.2.6 CardLayout
6.2.7 组合布局方式
6.2.8 自定义的布局管理器
6.3 事件处理模型
6.3.1 事件处理模型概述
6.3.2 鼠标事件处理
6.3.3 键盘事件处理
6.4 高级图形用户界面
6.4.1 菜单
6.4.2 多文档界面
6.5 本章小结
习题
第7章 小应用程序
7.1 编写小应用程序
7.1.1 生命周期
7.1.2 小应用程序
7.2 编写网页
7.2.1 基本HTML语句
7.2.2 归档文件
7.2.3 网页中的小应用程序参数
7.3 应用程序与小应用程序
7.4 本章小结
习题
第8章 多线程程序设计
8.1 编写线程程序
8.1.1 通过类Thread构造线程类
8.1.2 通过接H Runnable构造线程类
8.2 线程的生命周期
8.3 多线程的同步处理
8.3.1 同步方法
8.3.2 同步语句
8.3.3 成员方法wait/notify/notifyAll
8.3.4 死锁问题
8.4 本章小结
习题
第9章 编程规范
9.1 程序编写规范
9.1.1 命名规范
9.1.2 排版规范
9.1.3 语句
9.1.4 文件组织;.
9.2 程序调试
9.3 文档注释.
9.4 本章小结
习题
第10章 网络程序设计
10.1 网络资源定位器
10.1.1 网络地址
10.1.2 网络资源定位器
10.1.3 从网络资源定位器获取网络资源
10.2 基于TCP的网络程序设计
10.3 基于UDP的网络程序设计
10.4 本章小结二
习题
第11章 多媒体与图形学程序设计
11.1 声音播放
11.2 图像显示
11.3 图形显示
11.4 计算机动画
11.4.1 通过定时器控制动画速度
11.4.2 动画制作
11.4.3 提高动画质量
11.5 本章小结
习题
第12章 数据库程序设计
12.1 基本原理
12.1.1 JDBC驱动程序类型
12.1.2 JNDI原理
12.2 开发环境的建立
12.2.1 安装数据库和建立测试数据
12.2.2 选择、获取和安装JDBC驱动程序
12.2.3 安装与设置JNDI
12.3 数据库程序设计
12.4 JDBC的API简介
12.4.1 数据源
12.4.2 数据库连接
12.4.3 SQL语句执行器
12.4.4 SQL查询结果集
12.5 性能优化
12.5.1 预编译语句
12.5.2 SQL语句批处理机制
12.5.3 连接池
12.6 本章小结
习题
参考文献
当今社会是信息社会。以信息产业为主要标志的综合国力竞争日益激烈,软件产业作为信息产业的核心和国民经济信息化的基础,越来越受到世界各国的高度重视。整个世界的软件业正以极其迅猛的速度在向前发展。我国的软件人才要适应这种高速变化的时代变革,必须打破一些传统的思想观念,不断提高创新能力,才能在竞争日益激烈的国内外环境中取得卓越的成就。
要很好地迎接迅猛发展的科学技术浪潮对教育提出的巨大挑战,关键在于如何提高效率,包括软件开发、软件维护以及软件学习的效率。这种效率指的不仅是在很短的时间内完成特定的程序,而且还要求程序具有较高的执行效率和良好的稳定性。这就需要良好的程序设计与编写风格,以满足大规模软件生产的需求。本书能够在这一方面起到非常积极的作用。
本书作为计算机软件的基础性教材,其编排和设计很好地适应了信息产业迅猛变革所带来的各种需求,是教学新观念的产物。本书非常简洁,利用浅显的方法揭示各种基本概念的本质之处,通过翔实的示例展现Java语言的特点和编程的思想,使得学生通过学习本书在较短的时间内掌握较多的知识。本书注重实用,课后的习题贴切而又充满趣味,营造了一种轻松而快乐的学习氛围,培养和加强了学生的学习乐趣与学习成就感。
本书在内容编排上紧紧把握教育、产业与市场的实际需求。本书的出版将有助于培养我国高层次、实用型和复合式的软件人才,为我国的软件业走向世界作出积极的贡献。
现代科学技术正在迅猛地发展着,计算机信息技术在其中发挥着巨大的作用。计算机技术已经渗透到各行各业,并推动着这些行业的迅速发展。因此,如何尽快地掌握计算机知识,学好一门计算机语言,已经成为现代人才普遍面临的一个基本问题。本书就是在这种背景下编写的。
首先,Java语言本身就是可以满足这种需求的一种计算机语言。它远比计算机语言C十十简单,去掉了C++语言中一些不易理解或容易出错的概念和语法。此外,因为Java是一种较新的计算机语言,所以它在面向对象和多线程特性上可以设计得比其他现有计算机语言更为纯粹一些。同时,Java语言在网络、平台无关性和安全性方面的优点也比大部分计算机语言(如C十十语言)更为突出。这样,学习Java程序设计,应用Java语言实现算法就比较容易且节省时间。同时,编写出来的Java代码也就比较容易得到复用和移植。
其次,本书在编写之前分析了人们认知和学习的过程,借鉴了各种教材的优点,并加以补充和进一步完善。在本书编写的过程中自始至终都要求能够体现这些特点,表达力求严谨准确,使得读者在阅读本书时既能轻松愉悦,又能高效地学到Java程序设计的知识。本书非常注重实用性,其内容的选取是建立在软件公司对Java程序设计的实际需求上。本书在各章之后还附有习题,以适应学习计算机语言实践性强的特点。这既方便读者自学,多做练习,以便更深刻地理解和掌握这门计算机语言;同时也方便授课教师检查学生对Java程序设计的掌握情况。本书的授课时间为48—80学时。在学时少的情况下,对于从第8章到最后一章的内容,授课教师可以自行选择部分章节讲解。在编写本书的过程中已经考虑了这种情况,所以这几章内容的相关性已经减到最弱的程度。这几章的内容在编写时也考虑了如何便于自学。
本书非常注重Java程序设计思想的建立,贯穿全书各个章节。本书系统地介绍了如何从实际的问题到用Java程序来解决这些问题:包括Java程序模型的建立、程序的分解机制、程序的编程规范和代码的编写。这些程序设计方法可以用来解决工程和利研中常见的实际问题。灵活地利用这些程序设计方法可以使得Java语言成为读者日常学习和工作中的一种有益的而且是非常方便的工具。
本书既可以作为计算机专业和非计算机专业的基础教材,也可以作为需要使用计算机的工程人员和科技工作者的自学参考书。清华大学的宿华同学参与了本书最后一章的编写。本书在编写与出版的过程中得到了许多朋友的帮助,这里一并表示诚挚的谢意。由于水平与时间所限,书中可能出现一些错误和缺陷,恳切希望广大读者特别是讲授此课程的老师批评指正。作者个人主页:http://cgcad.Thssosinghua.edu.Ch/~junhai/chn/indemhtml。
雍俊海 于清华园
2004年4月5日