本书以初学者为起点,循序渐进地介绍了面向对象的Java编程语言,系统地讨论了Java的基本概念和编程技术。全书共分为18章,首先从基本的Java理论开始,讲解了Java的基本数据类型和控制结构,Java中的方法、数组和字符串,以及基于对象的编程和面向对象的编程。书中还讨论了很多有关Java的高级课题,包括图形、图形用户界面组件、异常处理、多线程、多媒体、文件和流、网络、数据结构以及Java工具包和位处理。全书内容丰富、构思严谨、条理清晰,写作方法别具一格,并且提供了大量实用、有趣的练习,可以使读者在较短的时间内掌握基本的和最新的编程技术。\r\n 本书是高等院校进行编程语言和Java教学的教材,也是软件设计人员进行Java程序开发的宝贵参考资料。
第1章 计算机和Java applet简介\r\n\r\n1.1 简介\r\n1.2 什么是计算机\r\n1.3 计算机的组织结构\r\n1.4 操作系统的发展\r\n1.5 个人计算、分布式计算和客户/服务器计算\r\n1.6 机器语言、汇编语言和高级语言\r\n1.7 C++的历史\r\n1.8 Java的历史\r\n1.9 Java的类库\r\n1.10 其他高级语言\r\n1.11 结构化编程\r\n1.12 一个典型Java环境的基础知识\r\n1.13 预览本书\r\n1.14 关于Java和本书的一般注意事项\r\n1.15 Java编程介绍\r\n1.16 一个简单的例子:打印一行文本\r\n1.17 另一个Java程序:整数相加\r\n1.18 关于内存的概念\r\n1.19 算术运算\r\n1.20 条件判断:相等运算符和关系运算符\r\n小结\r\n术语\r\n自测练习\r\n自测练习答案\r\n练习\r\n\r\n第2章 控制结构(一)\r\n\r\n2.1 简介\r\n2.2 算法\r\n2.3 伪代码\r\n2.4 控制结构\r\n2.5 if选择结构\r\n2.6 if/else选择结构\r\n2.7 while循环结构\r\n2.8 构造算法:实例1(计数器控制循环)\r\n2.9 自顶向下、逐步求精的构造算法:实例2(标志控制循环)\r\n2.10 自顶向下、逐步求精的构造算法——实例3(嵌套的控制结构)\r\n2.11 赋值运算符\r\n2.12 自增和自减运算符\r\n2.13 基本数据类型\r\n2.14 常见的转义序列\r\n小结 \r\n术语\r\n自测练习\r\n自测练习答案\r\n练习\r\n\r\n第3章 控制结构(二)\r\n\r\n3.1 简介\r\n3.2 计数器控制循环的实质\r\n3.3 for循环结构\r\n3.4 使用for结构的例子\r\n3.5 switch多重选择结构\r\n3.6 do/while循环结构\r\n3.7 break和continue语句\r\n3.8 带标记的break和continue语句\r\n3.9 逻辑算符\r\n3.10 结构化编程小结\r\n小结 \r\n术语\r\n自测练习\r\n自测练习答案\r\n练习\r\n\r\n第4章 方法\r\n\r\n4.1 简介\r\n4.2 Java中的程序模块\r\n4.3 Math类的方法\r\n4.4 方法\r\n4.5 方法定义\r\n4.6 参数类型提升\r\n4.7 Java API软件包\r\n4.8 生成随机数\r\n4.9 案例:一个机会游戏\r\n4.10 自动变量\r\n4.11 作用域规则\r\n4.12 递归\r\n4.13 使用递归的例子:斐波纳契数列\r\n4.14 递归与选代\r\n4.15 方法重载\r\n4.16 Applet类的方法\r\n小结\r\n术语\r\n自测练习\r\n自测练习答案\r\n练习\r\n\r\n第5章 数组\r\n\r\n5.1 简介\r\n5.2 数组\r\n5.3 声明数组和分配数组\r\n5.4 使用数组的实例\r\n5.4.1 分配数组并初始化数组元素\r\n5.4.2 使用初始化值列表来初始化数组元素\r\n5.4.3 计算存储在数组元素中的值\r\n5.4.4 对数组元素求和\r\n5.4.5 使用数组分析调查结果\r\n5.5 引用和引用参数\r\n5.6 向方法传递数组\r\n5.7 数组排序\r\n5.8 数组查找:线性查找和二分查找\r\n5.8.1 线性查找\r\n5.8.2 二分查找\r\n5.9 多维数组\r\n小结\r\n术语\r\n自测练习\r\n自测练习答案\r\n练习\r\n递归练习\r\n特殊小节:建立自己的计算机\r\n\r\n第6章 基于对象的编程\r\n\r\n6.1 简介\r\n6.2 通过类实现一个抽象数据类型Time\r\n6.3 类作用域\r\n6.4 控制对成员的访问\r\n6.5 实用方法\r\n6.6 初始化类对象:构造函数\r\n6.7 使用重载的构造函数\r\n6.8 使用set和get方法\r\n6.9 软件可重用性\r\n6.10 final实例变量\r\n6.11 复合:作为其他类的实例变量的对象\r\n6.12 软件包访问\r\n6.13 使用this引用\r\n6.14 终止函数\r\n6.15 静态类成员\r\n6.16 数据抽象和信息隐藏\r\n6.16.1 案例:队列抽象数据类型\r\n小结\r\n术语\r\n自测练习\r\n自测练习答案\r\n练习\r\n\r\n第7章 面向对象的编程\r\n\r\n7.1 简介\r\n7.2 超类和子类\r\n7.3 protected成员\r\n7.4 超类对象和于类对象之间的关系\r\n7.5 在子类中使用构造函数和终止函数\r\n7.6 从子类对象到超类对象的隐式转换\r\n7.7 使用继承的软件工程\r\n7.8 复合与继承\r\n7.9 案例分析:点、圆、圆柱体\r\n7.10 多态简介\r\n7.11 类型域和switch语句\r\n7.12 动态方法绑定\r\n7.13 final方法和类\r\n7.14 抽象超类和具体类\r\n7.15 多态的例子\r\n7.16 案例分析:一个使用多态的工资支付系统\r\n7.17 新类和动态绑定\r\n7.18 案例分析:继承接口与实现\r\n7.19 基本类型的类型包装类\r\n小结\r\n术语 \r\n自测练习\r\n自测练习答案\r\n练习\r\n\r\n第8章 字符串和字符\r\n\r\n8.1 简介\r\n8.2 字符和字符串的基础\r\n8.3 String构造函数\r\n8.4 String方法:length、charAt、getChars、getBytes\r\n8.5 比较String\r\n8.6 String方法hashCode \r\n8.7 在String中定位字符和子字符串\r\n8.8 从String中提取子字符串\r\n8.9 连接String\r\n8.10 其他的String方法\r\n8.11 使用String方法valueOf\r\n8.12 String方法intern\r\n8.13 StringBuffer类\r\n8.14 StringBuffer构造函数\r\n8.15 StringBuffer的length、capacity、setLength和ensureCapacity方法\r\n8.16 StringBuffer的charAt、setCharAt和getChars方法\r\n8.17 StringBuffer的append方法\r\n8.18 StringBuffer的insert方法\r\n8.19 Character类的例子\r\n8.20 StringTokenizer类\r\n8.21 洗牌和发牌的模拟\r\n小结 \r\n术语 \r\n自测练习\r\n自测练习答案\r\n练习\r\n特殊小节:高级字符串操作练习\r\n挑战性的字符串操作项目\r\n\r\n第9章 图形\r\n\r\n9.1 简介\r\n9.2 图形环境和图形对象\r\n9.3 绘制字符串、字符和字节\r\n9.4 颜色控制\r\n9.5 字体控制\r\n9.6 绘制线条\r\n9.7 制矩形\r\n9.8 绘制圆角矩形\r\n9.9 绘制三维矩形\r\n9.10 绘制椭圆\r\n9.11 绘制圆弧\r\n9.12 绘制多边形\r\n9.13 屏幕操作\r\n9.14 绘图模式\r\n小结\r\n木语\r\n自测练习\r\n自测练习答案\r\n练习\r\n\r\n第10章 图形用户界面组件(一)\r\n\r\n10.1 简介\r\n10.2 标签\r\n10.3 揿压式按钮\r\n10.4 文本字段\r\n10.5 选择按钮\r\n10.6 复选框按钮和单选按钮\r\n10.7 列表\r\n10.8 面板\r\n10.9 鼠标事件\r\n10.10 键盘事件\r\n10.11 FlowLayout布局管理器\r\n10.12 BorderLayout布局管理器\r\n10.13 GridLayout布局管理器\r\n小结\r\n术语 \r\n自测练习\r\n自测练习答案\r\n练习\r\n\r\n第11章 图形用户界面组件(二)\r\n\r\n11.1 简介\r\n11.2 文本区域\r\n11.3 画板\r\n11.4 滚动条\r\n11.5 定制组件\r\n11.6 框架\r\n11.7 菜单\r\n11.8 对话框\r\n11.9 高级布局管理器\r\n11.10 CardLayout布局管理器\r\n11.11 GridBagLayout布局管理器\r\n11.12 不使用布局管理器\r\n11.13 程序员自定义的布局管理器\r\n小结\r\n术语\r\n自测练习\r\n自测练习答案\r\n练习\r\n\r\n第12章 异常处理\r\n\r\n12.1 简介\r\n12.2 何时使用异常处理\r\n12.3 其他的错误处理技术\r\n12.4 Java异常处理的基础\r\n12.5 一个异常处理的简单实例:除数为零\r\n12.6 try程序块\r\n12.7 抛出异常\r\n12.8 捕获异常\r\n12.9 重抛出异常\r\n12.10 throws子句\r\n12.11 构造函数、终止函数和异常处理\r\n12.12 异常和继承\r\n12.13 finally程序块\r\n12.14 使用printStackTrace和getMessage方法\r\n小结\r\n术语\r\n自测练习\r\n自测练习答案\r\n练习\r\n\r\n第13章 多线程\r\n\r\n13.1 简介\r\n13.2 Thread类:线程方法介绍\r\n13.3 线程状态:一个线程的生命周期\r\n13.4 线程优先级与线程调度\r\n13.5 线程同步\r\n13.6 未使用线程同步的生产者/消费者关系\r\n13.7 使用线程同步的生产者/消费者关系\r\n13.8 生产者/消费者的关系:循环缓冲区\r\n13.9 精灵线程\r\n13.10 Runnable接口\r\n13.11 线程组\r\n小结\r\n术语\r\n自测练习\r\n自测练习答案\r\n练习\r\n\r\n第14章 多媒体:图像、动画和声音\r\n\r\n14.1 简介\r\n14.2 加载、显示和按比例调整图像\r\n14.3 动画介绍:图像的循环\r\n14.4 图形双缓存\r\n14.5 利用MediaTracker来监视图像的加载\r\n14.6 利用一个独立线程来运行动画\r\n14.7 加载和播放音频剪辑\r\n14.8 通过HTML的param标记来定制applet\r\n14.9 图像映射\r\n小结\r\n术语 \r\n自测练习\r\n自测练习答案\r\n练习\r\n\r\n第15章 文件和流\r\n\r\n15.1 简介\r\n15.2 数据组织\r\n15.3 文件和流\r\n15.4 创建顺序访问文件\r\n15.5 从顺序访问文件中读取数据\r\n15.6 更新顺序访问文件\r\n15.7 随机访问文件\r\n15.8 创建随机访问文件\r\n15.9 向随机访问文件中随机地写入数据\r\n15.10 从随机访问文件中顺序地读取数据\r\n15.11 案例:交易处理程序\r\n15.12 File类\r\n15.13 对象的输入/输出\r\n小结\r\n术语 \r\n自测练习\r\n自测练习答案\r\n练习\r\n\r\n第16章 网络\r\n\r\n16.1 简介\r\n16.2 利用URL\r\n16.3 采用URL的流连接从服务器上读取文件\r\n16.4 建立一个简单的服务器(采用流套接字)\r\n16.5 建立一个简单的客户(采用流套接字)\r\n16.6 通过流套接字进行的客户/服务器交互\r\n16.7 采用数据报方式进行无连接的客户/服务器交互\r\n16.8 采用多线程服务器实现的客户/服务器间的三连棋游戏\r\n16.9 网络和安全性\r\n小结\r\n术语\r\n自测练习\r\n自测练习答案\r\n练习\r\n\r\n第17章 数据结构\r\n\r\n17.1 简介\r\n17.2 自引用的类\r\n17.3 动态内存请求\r\n17.4 链表\r\n17.5 堆栈\r\n17.6 队列\r\n17.7 树\r\n小结\r\n术语 \r\n自测练习\r\n自测练习答案\r\n练习\r\n特殊小节:建立自己的编译器\r\n\r\n第18章 Java工具包和位处理\r\n\r\n18.1 简介\r\n18.2 Vector类和Enumeration接口\r\n18.3 Stack类\r\n18.4 Dictionary类\r\n18.5 Hashtable类\r\n18.6 Date类\r\n18.7 Observable类和Observer接口\r\n18.8 Properties类\r\n18.9 Random类\r\n18.10 位处理和位运算符\r\n18.11 BitSet类\r\n小结\r\n术语 \r\n自测练习\r\n自测练习答案\r\n练习\r\n\r\n附录A 运算符优先级表\r\n附录B ASCII字符集\r\n附录C 数值系统\r\n附录D 面向对象的电梯模拟程序\r\n参考文献