教育>本科研究生>计算机类
Java程序设计实用教程(第2版)

Java程序设计实用教程(第2版)"

作者:张永常
ISBN:9787121098994
定价:¥35.0
字数:605千字
页数:360
出版时间:2010-01
开本:16(185*260)
版次:1-01
装帧:
出版社:电子工业出版社
简介

本书主要讲解Java程序运行环境建设、Java语言基础、数组和字符串、类和对象、包和接口、异常处理、Applet小程序、图形用户界面应用、多线程、多媒体编程、网络编程、数据库编程、输入/输出流编程、Servlet编程、JavaBean编程等内容。另外,本书除了正文中的大量例题外,各章的最后附有综合应用举例、习题和实验,使读者的实践能力得到大幅度提高。

前言

序 言 21世纪是“信息”主导的世纪,是崇尚“创新与个性”发展的时代,体现“以人为本”、构建“和谐社会”是社会发展的主流。然而随着全球经济一体化进程的不断推进,市场与人才的竞争日趋激烈,对于国家倡导发展的IT产业,需要培养大量的、适应经济和科技发展的计算机人才。 众所周知,近年来,一些用人单位对部分大学毕业生到了工作岗位后,需要1~2年甚至多年的训练才能胜任工作的“半成品”现象反应强烈。从中反映出单位对人才的需求越来越讲求实用,社会要求学校培养学生的标准应该和社会实际需求的标准相统一。对于IT业界来讲,一方面需要一定的科研创新型人才,从事高端的技术研究,占领技术发展的高地;另一方面,更需要计算机工程应用、技术应用及各类服务实施人才,这些人才可统称“应用型”人才。 应用型本科教育,简单地讲就是培养高层次应用型人才的本科教育。其培养目标应是面向社会的高新技术产业,培养在工业、工程领域的生产、建设、管理、服务等第一线岗位,直接从事解决实际问题、维持工作正常运行的高等技术应用型人才。这种人才,一方面掌握某一技术学科的基本知识和基本技能,另一方面又具有较强的解决实际问题的基本能力,他们常常是复合性、综合性人才,受过较为完整的、系统的、有行业应用背景的“职业”项目训练,其最大的特色就是有较强的专业理论基础支撑,能快速地适应职业岗位并发挥作用。因此,可以说“应用型人才培养既有本科人才培养的一般要求,又有强化岗位能力的内涵,它是在本科基础之上的以‘工程师’层次培养为主的人才培养体系”,人才培养模式必须吸取一般本科教育和职业教育的长处,兼容并蓄。“计算机科学与技术”专业教学指导委员会已经在研究并指导实施计算机人才的“分类”培养,这需要我们转变传统的教育模式和教学方法,明确人才培养目标,构建课程体系,在保证“基础的前提”下,重视素质的养成,突出“工程性”、“技术应用性”、“适应性”概念,突出知识的应用能力、专业技术应用能力、工程实践能力、组织协调能力、创新能力和创业精神,较好地体现与实施人才培养过程的“传授知识,训练能力,培养素质”三者的有机统一。 在规划本套教材的编写时,我们遵循专业教学委员会的要求,针对“计算机工程”、“软件工程”、“信息技术”专业方向,以课群为单位选择部分主要课程,以计算机应用型人才培养为宗旨,确定编写体系,并提出以下的编写原则。 (1)本科平台:必须遵循专业基本规范,按照“计算机科学与技术”专业教学指导委员会的要求构建课程体系,覆盖课程教学知识点。 (2)工程理念:在教材体系编写时,要贯穿“系统”、“规范”、“项目”、“协作”等工程理念,内容取舍上以“工程背景”、“项目应用”为原则,尽量增加一些实例教学。 (3)能力强化:教学内容的举例,结合应用实际,力争有针对性;每本教材要安排课程实践教学指导,在课程实践环节的安排上,要统筹考虑,提供面向现场的设计性、综合性的实践教学指导内容。 (4)国际视野:本套教材的编写要做到兼长并蓄,吸收国内、国外优秀教材的特点,人才培养要有国际背景和视野。 本套教材的编委会成员及每本教材的主编都有着丰富的教学经验,从事过相关工程项目(软件开发)的规划、组织与实施,希望本套教材的出版能为我国的计算机应用型人才的培养尽一点微薄之力。 编委会 前 言 天基人才网2008年9月23日消息:“由天基人才网的统计数据显示,9月中原才市中三类岗位需求加大,增量急剧上升,……,Java开发人员在技术岗位中排名第一,……。目前招聘市场中一些软件开发和信息服务公司对Java人才需求很大。其中设置的岗位有测试工程师、Java开发工程师、高级程序员、系统架构工程师等。从薪酬情况来看,Java人才薪资2000~8000元不等。根据企业的不同规模及不同性质,支付能力差异明显,但Java人才前景一片看好。”请注意,这是在发生了金融危机的2008年下半年的统计数据。 由于Java的跨平台特性比较突出,企业对Java及JavaEE开发有着巨大的需求,随着高等教育大众化,就业竞争的形势日趋激烈,计算机专业学生学习Java语言的热情也随之不断高涨。有些学校原来把Java程序设计这门课程放在专业选修课中让学生选修,但几乎所有的学生都选修,成为事实上的必修课,所以学校也就适应市场需求,把这门课程改为必修课程。 大家都注意到,教育部考试中心已经把“Java语言程序设计”列入了全国计算机等级考试项目。全国计算机等级考试(National Computer Rank Examination,NCRE),是经原国家教育委员会(现教育部)批准,由教育部考试中心主办,面向社会,用于考查应试人员计算机应用知识与技能的全国性计算机水平考试体系,把“Java语言程序设计”列入全国计算机等级考试,从另一方面说明了Java课程在学生就业方面的重要作用。 由于高等教育大众化和市场经济对人才需求的不断深化,企业往往对求职者——高校的毕业生提出了直接上岗的能力要求,但是,刚刚从高校毕业的学生往往缺乏工作经历,而企业招聘人才时对Java程序员的需求却是巨大的,这就催生了一些培训企业,这些企业专门做高校毕业生毕业后到企业上岗前的这一段空间的培训工作。这些培训的企业开发了一些成功的项目案例,让刚刚毕业或尚未毕业的学生真刀真枪地进行项目训练,在这些企业培训过后,受训者的项目能力得到了较大幅度地提高,用人单位就愿意接收他们。这些培训企业往往对毕业生提出应该有Java基础知识和基本实践能力的要求。普通高校培养出来的大学生带有的青涩,经过培训企业的催熟,使得学生就业变得顺利起来。 本教程的第1版于2006年出版,最近三年Java技术又有了新的发展,但是,作为基础课程的Java程序设计教程,老师们认为仍然要突出其基础性和实用性。因此,我们在编写第2版时,注重了在保持该课程的基础地位,对后续课程有良好的支撑作用,强化该课程培养学生实践能力的特色,适当兼顾Java新版本中新特性的应用。 在编写本教程之前,我们调研并总结了第1版教材的使用情况,修订后的第2版主要有以下特色:仍然秉承第1版的体系结构,但是,对部分章节适当扩充;更正了第1版中存在的不足;在各章后面增加了综合应用举例、课后实践的习题,实训的习题、实验题增加到了190个,较大幅度地丰富了学生的实践项目内容;添加了部分Java新的特性应用;增加了习题的参考答案。 本教程中用到的全部程序代码已在JDK1.6.13环境中调试运行通过。虽然我们提供了本教程的所有例题、习题的源代码电子稿,但是我们仍然建议初学Java语言的读者逐个输入各程序的源代码。这样做的最大优点是,可以培养严谨的学风,熟悉Java的程序结构、便于记忆和熟练地运用Java中的类、方法等,同时输入和调试的过程也是学习的过程。 读者若使用本教程的源程序、PPT时,可与电子工业出版社刘海艳编辑(E-mail:lhy@phei.com.cn)联系索取或登录到出版社的网站下载。 本教程由张永常任主编,并完成全部书稿的统稿工作。其中第1~4章由张永常编写,第5~8章由费贤举编写,第9~12章由杜明编写,第13~15章由杨兴运编写,张旭隆、曹言敬完成了编写过程中程序的调试和校对工作。 本教程的编写工作是在徐州师范大学、常州工学院、徐州工程学院的领导和同事们的大力支持、鼓励与帮助下完成的,向他们表示衷心的感谢! 本教程第2版的编写还要感谢使用第1版教程的老师和读者们给我们提出的宝贵意见和建议! 再次感谢全体作者的家庭成员给予的支持。 由于作者教学任务繁重且水平有限,加之时间紧迫,对于书中存在的错误和不妥之处,诚挚欢迎批评指正,作者联系邮箱:yczhang@xznu.edu.cn。 张永常

目录

目 录 第1章 绪论 1 1.1 Java发展简史 1 1.2 为什么要学习Java 2 1.2.1 高层评价 2 1.2.2 主要特点 3 1.2.3 Java运行机制 6 1.2.4 应用前景 7 1.3 面向对象程序设计的主要概念与举例 8 1.3.1 对象、抽象和类 8 1.3.2 封装 9 1.3.3 继承 9 1.3.4 多态性 9 1.4 Java与C/C++的简单比较 10 1.4.1 C语言 10 1.4.2 C++语言 10 1.4.3 Java语言 12 本章小结 14 习题1 14 第2章 Java程序运行环境建设 15 2.1 Java运行环境的安装 15 2.1.1 JDK的下载 15 2.1.2 JDK的安装 16 2.1.3 设置Java运行环境 19 2.2 如何编写并运行Java程序 21 2.2.1 Java Application程序编辑、 编译与运行举例 21 2.2.2 Java Applet程序编辑、编译 与运行举例 23 2.3 Java集成开发环境简介 26 2.3.1 NetBeans 27 2.3.2 Eclipse 30 2.4 Java程序的基本输入与输出 34 2.4.1 输入流和输出流概述 34 2.4.2 简单输入与输出举例 35 2.5 Java编码规范简介 40 2.5.1 Java命名规范 40 2.5.2 Java注释规范 41 2.5.3 Java缩进排版规范 41 2.5.4 Java文件名规范 41 2.5.5 Java声明规范 42 2.5.6 Java语句规范 42 2.5.7 Java编程规范 42 2.6 如何获得Java帮助 42 2.6.1 下载帮助 42 2.6.2 使用帮助 44 2.6.3 Java资源 44 本章小结 44 习题2 44 实验1 Java环境搭建与简单编程 45 第3章 Java语言基础 46 3.1 关键字 46 3.2 基本数据类型 47 3.2.1 整数类型(int、short、long、 byte) 47 3.2.2 浮点类型(float、double) 47 3.2.3 布尔类型(boolean) 48 3.2.4 字符类型(char) 48 3.3 常量和变量 50 3.3.1 常量 50 3.3.2 变量 51 3.4 运算符与表达式 52 3.4.1 赋值运算符和语句 52 3.4.2 算术运算符和算术表达式 53 3.4.3 关系运算符和关系表达式 54 3.4.4 逻辑运算符和逻辑表达式 55 3.4.5 位运算符 56 3.4.6 条件赋值运算符 57 3.4.7 广义赋值运算符 58 3.4.8 对象运算符 58 3.4.9 括号与方括号运算符 58 3.4.10 运算符的优先级 58 3.5 类型转换 59 3.5.1 自动转换 59 3.5.2 强制转换 60 3.6 流程控制 61 3.6.1 选择语句 61 3.6.2 循环语句 64 3.6.3 转移语句 67 3.7 综合应用举例 68 本章小结 72 习题3 72 实验2 Java语言基础 73 第4章 数组和字符串 75 4.1 数组 75 4.1.1 一维数组 75 4.1.2 多维数组 79 4.1.3 复制数组的方法 83 4.1.4 数组元素的排序方法 84 4.1.5 数组元素的查找方法 86 4.1.6 数组元素的填充方法 87 4.2 字符串 88 4.2.1 字符串的声明与创建 88 4.2.2 与字符串有关的方法 89 4.2.3 StringBuffer中有关的方法 93 4.3 向量* 98 4.3.1 向量的声明 98 4.3.2 Vector类的方法 98 4.4 综合应用举例 100 本章小结 103 习题4 104 实验3 数组和字符串编程 105 第5章 Java面向对象程序设计 106 5.1 类 106 5.1.1 类的定义 106 5.1.2 类的使用 110 5.1.3 方法重载 114 5.1.4 内部类 116 5.2 访问控制符和封装 116 5.3 继承 117 5.3.1 子类和简单继承举例 117 5.3.2 变量隐藏和方法覆盖 118 5.3.3 super和this 119 5.3.4 运行时多态与多重继承 121 5.3.5 对象类型转换 122 5.3.6 抽象类 123 5.4 非访问控制符 123 5.4.1 static 123 5.4.2 final 124 5.4.3 volatile、native、synchronized 125 5.5 Java的名字空间和包 125 5.5.1 Java的名字空间 125 5.5.2 Java提供的包 126 5.5.3 自定义包 126 5.5.4 包的引用 127 5.6 接口 129 5.6.1 接口的声明 129 5.6.2 接口的实现 130 5.6.3 接口的使用 131 5.6.4 扩展接口与接口的多重继承 132 5.7 综合应用举例 134 5.7.1 案例1:通用加密类Clipher 的设计 134 5.7.2 案例2:多态与继承综合应用 举例 136 本章小结 140 习题5 141 实验4 Java面向对象程序设计 142 第6章 Java的异常处理 143 6.1 异常的概念 143 6.2 异常处理 144 6.2.1 Java中的Throwable类 145 6.2.2 try-catch-finally语句 147 6.2.3 throw和throws语句 149 6.3 自定义异常处理类 151 6.4 综合应用举例 154 本章小结 156 习题6 157 实验5 Java异常处理 158 第7章 Applet小程序 160 7.1 Applet概述 160 7.1.1 Applet小程序简介 160 7.1.2 Applet安全性及与Application 的区别 161 7.1.3 Applet类及Applet的生命 周期 162 7.2 在HTML中嵌入Applet程序 164 7.2.1 HTML代码的基本结构 164 7.2.2 Applet标记 165 7.2.3 在HTML中传递Applet程序 使用的参数 166 7.3 Applet应用 168 7.3.1 Applet的字体和颜色 168 7.3.2 Applet的应用 169 本章小结 174 习题7 174 实验6 Applet小程序 174 第8章 图形用户界面应用 176 8.1 AWT和Swing简介 176 8.1.1 组件和容器 176 8.1.2 Swing组件及其之间的 层次关系 178 8.1.3 组件类 179 8.2 布局管理 180 8.2.1 顺序布局 180 8.2.2 边界布局 181 8.2.3 卡片布局 182 8.2.4 网格布局 183 8.2.5 面板的使用 184 8.3 事件处理 185 8.3.1 事件与事件处理方法 185 8.3.2 事件处理机制 186 8.3.3 事件处理举例 189 8.3.4 事件适配器类 192 8.4 常用组件的应用 193 8.4.1 标签 193 8.4.2 按钮 194 8.4.3 列表框 195 8.4.4 选项框 196 8.4.5 复选框 196 8.4.6 文本框 198 8.4.7 文本区 198 8.4.8 菜单 199 8.4.9 窗口与对话框 201 8.4.10 综合实例 207 本章小结 210 习题8 210 实验7 图形用户界面 210 第9章 多线程 212 9.1 多线程的概念 212 9.1.1 进程和线程 212 9.1.2 多线程简介 212 9.1.3 Java中的多线程机制 213 9.2 线程类及其线程创建 214 9.2.1 线程类 214 9.2.2 线程的创建 215 9.2.3 线程的状态与控制 218 9.3 线程的同步 221 9.3.1 线程同步的概念 221 9.3.2 方法同步 221 9.3.3 对象同步 223 9.3.4 同步方法的缺点 224 9.4 线程组 224 9.4.1 线程组简介 224 9.4.2 ThreadGroup类 225 9.4.3 线程之间的通信 227 9.5 综合应用举例 229 本章小结 234 习题9 234 实验8 多线程 236 第10章 多媒体编程 238 10.1 检索与使用声音文件 238 10.1.1 简单声音文件播放 238 10.1.2 AudioClip接口 239 10.1.3 把声音加载到AudioClip 对象中 239 10.2 图形与动画 241 10.2.1 图形与文本 241 10.2.2 图像 243 10.2.3 动画 246 10.2.4 双缓冲 250 10.3 综合应用举例 252 本章小结 258 习题10 258 实验9 多媒体编程 259 第11章 网络编程 260 11.1 网络编程的基本概念 260 11.1.1 TCP/IP协议概述 260 11.1.2 Socket套接字 261 11.1.3 端口 262 11.1.4 URL 262 11.2 使用URL获取网络资源 263 11.2.1 URL类 263 11.2.2 获取图像 264 11.2.3 获取声音 267 11.2.4 获取文档 268 11.3 使用TCP协议的Socket编程 270 11.3.1 Socket套接字 270 11.3.2 一对一的Socket C/S通信 271 11.3.3 TCP协议通信的实现 272 11.3.4 一对多的Socket C/S通信 274 11.3.5 一对多通信的实现 274 11.4 综合应用举例 276 本章小结 282 习题11 282 实验10 网络编程 283 第12章 数据库编程 284 12.1 JDBC技术简介 284 12.1.1 JDBC概述 284 12.1.2 JDBC的基本功能 285 12.2 JDBC接口与驱动程序 285 12.2.1 JDBC API 286 12.2.2 JDBC Drive API 287 12.3 JDBC在数据库访问中的应用 288 12.3.1 建立与数据库的连接 288 12.3.2 执行查询语句 288 12.3.3 对数据库进行更新操作 290 12.3.4 事务 291 12.4 JDBC综合应用示例 291 12.4.1 建立数据库 292 12.4.2 建立数据源 292 12.4.3 数据库操作程序 294 12.5 综合应用举例 298 本章小结 306 习题12 306 实验11 数据库编程 307 第13章 输入/输出流编程 308 13.1 File类应用举例 308 13.1.1 File类用来获取文件或目录 的信息 308 13.1.2 文件的处理 311 13.2 Reader与Writer类应用举例 312 13.2.1 Reader和Writer 313 13.2.2 InputStreamReader和 OutputStreamWriter 313 13.3 InputStream与OutputStream类应用 举例 315 13.3.1 InputStream类 315 13.3.2 OutputStream类 316 13.4 数据流应用举例 317 13.5 对象流应用举例 319 本章小结 320 习题13 320 实验12 输入与输出 321 第14章 Servlet编程 322 14.1 Servlet简介 322 14.1.1 Servlet概述 322 14.1.2 Servlet开发环境搭建 322 14.1.3 Servlet的工作原理与生命 周期 325 14.2 Servlet编程示例 327 本章小结 331 习题14 331 实验13 Servlet编程 331 第15章 JavaBeans编程 333 15.1 JavaBeans简介 333 15.1.1 JavaBeans概述 333 15.1.2 JavaBeans的组件模型 333 15.1.3 JavaBeans API应用简介 334 15.2 JavaBeans的组件构成 336 15.2.1 JavaBeans组件的创建 336 15.2.2 开发工具中的JavaBeans 338 15.3 JavaBeans组件的应用示例 338 本章小结 344 习题15 345 实验14 JavaBeans编程 345 参考文献 346

作者简介

编辑推荐

作者寄语

电子资料

http://www.hxedu.com.cn/hxedu/fg/book/bookinfo.html?code=G0098990

www.luweidong.cn

下一个