标题：Java语言基础教程
图书信息
出版社: 清华大学出版社; 第1版 (2008年4月1日)
平装: 408页
正文语种: 简体中文
开本: 16
ISBN: 9787302170747
条形码: 9787302170747
尺寸: 25.4 x 18.2 x 2 cm
重量: 662 g
作者简介
朱福喜，ZhuFuxi，英国人，男，博士，教授，博士生导师。浙江大学数学系获学士学位、武汉大学计算机科学系获硕士学位和博士学位。一直从事人工智能和分布式计算方面的教学和科研工作。曾参与和主持了国家自然科学基金项目《专家系统开发环境与推理工具系统（87102034）》、国家863项目《国家科委办公知识信息系统（863-306-04-04-6）》和国防军工预演项目《支撑Ada语言的并行分布计算环境（15.5.1）》的开发。1993年3月赴美国加州AlphaOmega公司从事项目合作半年，2000年8月访问美国西东(SetonHallUni.)大学，从事远程教育和并行分布计算方面和研究一年。发表论文30余篇(其中13篇被EI检索)，编写的教材和专著共9部。参与开发的多媒体智能应用软件系统获2000年教育部科技进步二等奖，编写的教材《人工智能原理》和《Java语言与面向对象程序设计》获2002年中南地区高校优秀教材奖。研究方向：人工智能中的自动推理、Web知识挖掘、分布并行计算、企业级应用软件（J2EE）。
内容简介
《Java语言基础教程》从初学者的角度出发，利用通俗易懂的语言和大量生动典型的实例，由浅入深、循序渐进地介绍Java语言的基础知识与编程机制，并从面向对象程序设计的理论和方法中阐述使用Java语言的编程技巧。
全书列举了大量的图表和浅显易懂的实例，把学习Java的难点、要点展示的淋漓尽致、易学易懂。《Java语言基础教程》共分9章，包括：Java概述、Java语言基础、面向对象程序设计、流和文件、Applet、图形用户界面设计、异常处理、多线程、Java网络编程。作者精心设计的综合实例——俄罗斯方块游戏，按照章节的内容安排和难易程度将实例分解并分布于各章节，章后配有自测题和练习题，为初学者的入门学习起到“切实（160个实例）可行（226个自测题+121个练习题）”的指导性作用，并于书后提供自测题的参考答案。
全书结构严谨，兼有普及与提高的双重功能，可广泛适用于高等院校计算机及相关专业的Java语言教材，也适合作为软件开发人员及其他相关人员的参考书。
目录
第1章 Java概述
1.1 Java十周年
1.2 面向对象程序设计概述
1.2.1 对象
1.2.2 类
1.2.3 消息
1.2.4 继承
1.2.5 多态性
1.2.6 抽象
1.2.7 封装
1.3 Java语言的特色
1.4 JDK的下载、安装与环境配置
1.5 Java编译器与Java虚拟机
1.5.1 Java.编译器
1.5.2 Java虚拟机
1.6 Java独立应用程序的基本结构
1.6.1 程序的注释
1.6.2 类的定义
1.6.3 方法的声明
1.6.4 程序的执行语句
1.6.5 一个应用程序从编辑到执行的完整过程
1.7 JavaApplet程序的基本结构
自测题
练习题
第2章 Java语言基础
2.1 基本数据类型
2.1.1 简单类型
2.1.2 引用类型
2.1.3 常量
2.1.4 变量的声明和保存
2.2 数值类型的运算
2.2.1 数值类型的基本运算
2.2.2 位运算
2.3 数值类型的高级运算
2.3.1 数学函数运算及数学常量
2.3.2 快捷操作符和类型转换
2.4 逻辑和比较
2.4.1 逻辑操作符
2.4.2 比较操作符
2.4.3 instanceof操作符
2.5 条件执行语句
2.5.1 简单的if语句
2.5.2 if-else选择语句
2.5.3 嵌套的if-else-if语句
2.5.4 switch语句
2.6 循环控制语句
2.6.1 循环的概念
2.6.2 for循环
2.6.3 while循环
2.6.4 do-while循环
2.6.5 break和continue语句
2.7 数组
2.7.1 声明数组
2.7.2 初始化数组
2.7.3 访问数组的元素
2.7.4 数组作为方法的参数
2.8 字符串
2.8.1 字符串类String
2.8.2 StringBuffer类
2.8.3 通过输入字符串来输入各种基本类型
2.9 综合实例——俄罗斯方块游戏
2.9.1 游戏介绍
2.9.2 用数组表示方块的28种状态
2.9.3 位运算和位移运算在游戏中的使用
2.9.4 用for语句和break语句在游戏中的联合使用
2.9.5 用for语句和continue语句在游戏中的联合使用
自测题
练习题
第3章 面向对象程序设计
3.1 类与对象
3.1.1 类的定义
3.1.2 创建对象和构造方法
3.1.3 垃圾回收机制
3.2 类成员的定义
3.2.1 成员变量的定义
3.2.2 成员方法的定义
3.2.3 变量的作用域
3.3 类的访问与封装
3.3.1 访问成员变量与成员方法
3.3.2 成员的访问权限的控制
3.3.3 静态成员变量与静态成员方法
3.4 重载
3.4.1 重载成员方法
3.4.2 重载构造方法
3.5 继承与覆盖
3.5.1 类的继承层次
3.5.2 继承与构造方法
3.5.3 覆盖
3.5.4 抽象与终结
3.5.5 Java的基类Object
3.6 接口与多态
3.6.1 多重继承和接口
3.6.2 多态性
3.7 实现多态性下的计算
3.7.1 用抽象类实现多种形状面积的累加
3.7.2 用接口实现多种形状面积的累加
3.7.3 用一个Object数组实现多种形状面积的累加
3.8 包
3.8.1 Java平台定义的包
3.8.2 包的创建
3.8.3 包的使用
3.8.4 编译和生成包
3.9 综合实例
3.9.1 俄罗斯方块游戏中的类的继承关系
3.9.2 俄罗斯方块游戏中的ErsBox类
自测题
练习题
第4章 流和文件
4.1 流的基本概念
4.2 文件类及其操作
4.2.1 创建与删除文件
4.2.2 获取文件或目录属性
4.2.3 获取目录成员
4.2.4 过滤文件名
4.3 字节级输入输出类
4.3.1 文件输入流（FilelnputStream）
4.3.2 文件输出流（FileOutputStream）
4.3.3 字节数组输入流（ByteArraylnputStream）
4.3.4 字节数组输出流（ByteArrayOutputStream）
4.3.5 回退输入字节流（PushbacklnputStream）
4.3.6 数据输出流（DataOutputStream）
4.3.7 数据输入流（DatalnputStream）
4.3.8 缓存输出流（BufferedOutputStream）
4.3.9 缓存输入流（BufferedlnputStream）
4.3.10 格式化输出流（PrintStream）
4.4 字符级输入输出类
4.4.1 字符输入流（Reader）
4.4.2 字符输出流（Writer）
4.4.3 FileReader类
4.4.4 BufferedReader类
4.4.5 FileWriter类
4.4.6 BufferedWriter类
4.4.7 PrintWriter类
4.4.8 读取字符数组类（CharArrayReader）
4.4.9 写字符数组类（CharArrayWriter）
4.4.10 回退输入字符流（PushbackReader）
4.5 流的标记分解类（StreamTokenizer）
4.6 对象级输入输出类
4.6.1 Serializable接口
4.6.2 对象输出流（ObjectOutputStream）
4.6.3 对象类输入流（ObjectInputStream）
4.7 RandomAccessFile
4.8 系统I/O流
自测题
练习题
第5章 Applet
5.1 Applet的基本概念
5.1.1 Applet的构架
5.1.2 Applet类的实例变量
5.1.3 Applet类的成员方法
5.1.4 Applet的生命周期
5.2 Applet标记
5.2.1 Applet标记中的属性
5.2.2 利用标记NApplet传递参数
5.3 Applet的安全限制与文件读取方法
5.3.1 统一资源定位器URL
5.3.2 获取URL
5.3.3 使用URL载入数据
5.4 Applet环境与状态显示
5.4.1 Applet的状态显示
5.4.2 Applet的环境的获取和利用
5.5 Applet的绘图与控制
5.5.1 在Applet中利Graphics类绘图
5.5.2 在Appletd?显示与更新
5.5.3 在Applet中加入控制项
5.6 综合实例——交通灯控制
自测题
练习题
第6章 图形用户界面设计
6.1 抽象窗口工具包（AWT）简介
6.2 基本的窗口类
6.2.1 Container类
6.2.2 Window类
6.2.3 Panel类
6.2.4 Frame类
6.2.5 Dial09
6.2.6 简单窗口举例
6.3 简单的GUI构件类
6.3.1 Button（按钮）类
6.3.2 TextField（文本域）类
6.3.3 Label（标签）类
6.3.4 TextArea（文本区）类
6.3.5 List（列表）类
6.4 简单的事件处理
6.4.1 动作事件响应的一般步骤
6.4.2 ActionListener接口
6.5 事件类型及其处理
6.5.1 事件源
6.5.2 事件监听接口
6.5.3 低级事件
6.5.4 高级事件
6.5.5 事件、事件源与监听接口
6.5.6 监听接口适配器
6.6 布局管理
6.6.1 FlowLayout
6.6.2 BorderLayout
6.6.3 GridLayout
6.6.4 CardLayout
6.6.5 GridBagLayout
6.7 菜单系统
6.8 对话框
6.8.1 Dialog类
6.8.2 FileDialog类
6.9 图形类与图形的绘制
6.9.1 画线
6.9.2 画矩形
6.9.3 设置色彩和画其他图形
6.10 AWT与Swing
6.11 综合实例——俄罗斯方块游戏的界面实现
6.11.1 主类ErsBlocksGame
6.11.2 控制面板类ControlPanel
6.11.3 游戏显示窗口GameCanvas
自测题
练习题
第7章 异常处理
7.1 错误和异常的产生与处理
7.2 Java平台定义的异常
7.2.1 异常类的层次结构
7.2.2 Throwable类
7.2.3 Error类和Exception类
7.2.4 隐式和显式异常
7.3 自定义的异常
7.4 抛出一个异常
7.4.1 抛出一个显式异常
7.4.2 处理异常的方法
7.5 捕获异常
7.5.1 try-catch错误处理
7.5.2 多异常的捕获和处理
7.5.3 finally子句
7.6 异常处理的嵌套
7.6.1 在try块中包含有try-catch语句
7.6.2 在捕获异常之后又出现了异常
7.6.3 在finally子句中包含有try—catch语句
7.7 俄罗斯方块游戏中的异常处理
7.7.1 在ErsBox类中克隆对象时捕获异常
7.7.2 在ErsBlock类中克隆对象时捕获异常
7.7.3 在ControlPanel类中克隆对象时捕获异常
自测题
练习题
第8章 多线程
8.1 线程的基本概念
8.1.1 线程类Thread
8.1.2 线程的状态
8.1.3 线程的优先级
8.2 线程的使用方法
8.2.1 通过继承Thread类创建线程
8.2.2 通过实现Runnable接口创建线程
8.3 多线程的使用方法
8.3.1 多线程的创建方法
8.3.2 判断线程是否存在
8.3.3 线程的结合（ioin）
8.3.4 线程的优先级的获取和设置
8.4 多线程的同步处理
8.4.1 线程synchronized方法
8.4.2 Applet@使用线程
8.4.3 线程的等待与唤醒
8.5 综合实例——俄罗斯方块游戏中使用的线程
8.5.1 通过继承Thread类实现俄罗斯方块游戏
8.5.2 通过Runnable接口实现游戏类方块
自测题
练习题
第9章 Java网络编程
9.1 Java网络应用基础
9.1.1 IP地址
9.1.2 端口
9.1.3 套接字
9.1.4 数据包
9.1.5 Internet协议
9.2 基于URL网络应用
9.2.1 直接从URL读取内容
9.2.2 建立一个URL连接并从中读取内容
9.3 以Socket方式实现通信
9.3.1 客户端Socket
9.3.2 服务器端Socket
9.3.3 简单邮件系统
9.3.4 有关目录的客户/服务器系统
9.4 用Datagram方式实现通信
9.4.1 数据包和套接字
9.4.2 用Datagram实现客户/服务器模式
9.5 综合实例——俄罗斯方块双人对战网络游戏
9.5.1 游戏的实现概要
9.5.2 基于Socket的C/S模式的通信
9.5.3 对打游戏具体实现
9.5.4 游戏的运行
自测题
练习题
自测题答案
参考文献