热门关键字:  听力密码  听力密码  新概念美语  单词密码  巧用听写练听力
图书信息

Java程序设计及应用

中国水利水电出版社
    【作 者】李宗军 滕延燕 编著 【I S B N 】978-7-5084-7271-3 【责任编辑】杨元泓 【适用读者群】本科 【出版时间】2010-03-01 【开 本】16开本 【装帧信息】平装(光膜) 【版 次】第1版 【页 数】224 【千字数】 【印 张】 【定 价】24 【丛 书】21世纪高等院校规划教材 【备注信息】
图书详情

      Java从诞生至今发生了许多重大的发展变化,本书是为了满足学习Java编程的人员深入研究Java而编写的。

    本书共分11章,分别讲解了Java入门、编程基础、面向对象、泛型、异常、线程、I/O、集合框架、常用API、枚举、GUI编程等内容。

      本书吸收了最新的Java技术和语法;融合了编程思想、理论、实践、应用于一体;并且知识点前呼后应,始终站在Java编程整体的高度上来分章节讲解,使读者掌握的知识点是有机的整体;为读者留下了一定的思考空间,培养读者思考问题的能力。

    本书配有《Java程序设计实训》,精心设计的典型案例都来源于企业项目,与教材紧密结合,使理论知识与实践技能紧密结合、交互循环贯通。随书附赠光盘内容为本书所有范例源程序、相关软件、教学动画演示等。

      本书可作为理工科高等院校的“Java程序设计”课程教材,也可作为软件培训或者自学的教材。本书是作者长期从事Java研究、开发、教学、企业软件项目指导的心得体会,在此奉献给大家,愿本书能够为广大Java爱好者提供有益的帮助。

      Java是世界上最流行的编程语言,在软件产业中占有重要地位,全国各高等院校已经纷纷开设Java课程,培养Java软件开发人才。

      本书主要是为了配合高等院校Java教学的深入研究而编写的。按照《教育部关于进一步加强高等学校本科教学工作的若干意见》,全书以最新的《Java语言规范3.0》为依据,较深刻地讲解了Java语言以及面向对象的编程思想、方法,并且引入了自Java SE 5.0以来的新语法,如优化的for循环、泛型、自动装包/拆包、枚举、可变参数、静态导入等。本书采用“思想+理论+实践+应用”的编写方式,以企业软件编程为导向,引入案例教学和启发式教学方法,便于激发学习兴趣。本书的编写思想是:把理论知识点融入到编程实践中去,立足于“启发思想,理论够用,重在实践,应用导向”的要求,力求做到博精简易,符合“思想是源泉、理论是基础、实践积经验、应用是目的”的理念。每一章都尽量挖掘理论背后的思想,思想通了,理论就好掌握了,通过编程实例从实践的角度对理论加以验证,理论是抽象的,把抽象的理论用具体的程序代码表示出来,从而进一步提高学生对理论的理解,同时培养学生的实践动手能力,最后达到学习知识、培养能力的目的。另外,在案例的选择上,遵循“在能够验证理论的前提下尽量简单”的原则,这样有利于激发学生的求知欲望。

      程序设计的核心问题是思想,这是程序设计的灵魂,程序设计处处都可以凝聚思想,这是本书的出发点,在本书的许多地方都有体现,如面向对象的思想,从物理大世界与计算机小世界这个角度来阐述,初学者就较容易理解。

      本书一方面可以引导读者学习编程、掌握编程思想和技术,另一方面还可以培养读者好的素质。例如,计算机编程能够锻炼一个人做事的细心和耐心(因为计算机程序不允许出现一丝差错,否则程序就不能正确运行),细节决定成败,这对学生的素质培养很重要。

      本书在重点讲解Java的同时,尽量和其他相关学科联系起来,适当地穿插贯通,这对学生学习编程很有好处,因为软件编程不是独立的、孤立的,而是和其他学科有着密切的关联,如数据结构、软件工程、哲学认知思想等。

    为培养读者的思考能力,本书在讲解知识点或结论时,首先给出知识点或结论,读者读到这里时,根据前面介绍的知识点往往很难完全理解,必然要暂时停下来思考一下,然后再继续往后看就明白了,原来答案就在后面,看到答案后再与自己的思考做比较。这里提醒读者的是,当遇到不理解的知识点或结论时,千万不要一直停下来思考,要继续读下去,这时就会从山穷水尽走入柳暗花明。教材中有些知识点或结论只是给出了,并没有解释,有些是放到了《Java程序设计实训》的案例中,要求读者编程验证,其用意也在于此。

      本书在讲解过程中有些内容用到了后面的知识点,这并非是内容知识点的先后顺序安排有问题,而是这些知识点虽然属于不同的大类,但它们之间的关系非常紧密之故。Java编程是一项整体综合运用各种编程知识点的事情,有许多知识点紧密交叉,而作为教程只能按照线性关系分章节先后讲解,所以在有关知识点的介绍上采取了前呼后应的方式,以求站在Java整体的高度上来看。

    本书的主要特点体现在以下几个方面:一是本书吸收了最新的Java技术和语法;二是融合了编程思想、理论、实践、应用于一体,培养编程思想,训练编程方法;三是把物理宇宙大世界与计算机小世界相统一,认知世界,学习编程,使读者学习面向对象编程更直观、简易;四是本书知识点做到了前呼后应,在分章节讲解的过程中始终站在Java编程整体的高度上,使读者掌握的知识点不再是零散的,而是有机的整体;五是为读者留下了一定的思考空间,培养读者思考问题的能力;六是提供了精心设计的习题,汇聚编程的常见错误、原因和解决方法,能够帮助学生开阔视野;七是本书配有《Java程序设计实训》,精心设计了许多案例,与教材一起,使学生的理论知识与实践技能交互循环贯通。

      为了便于组织教学和学生自学,本书共分11章,第1章介绍了Java编程的入门知识和开发环境,第2章介绍了Java语言的基本语法,第3章是面向对象的思想和方法,第4章是泛型,第5章是异常处理,第6章是多线程,第7章是输入输出,第8章是集合框架,第9章介绍了一些常用的API,第10章是枚举,第11章是GUI编程。带*的章节属于选修内容。另外,每章都配有一定数量的习题,这些习题有一定的深度和难度,对启发学生的编程思想、提高学生的软件设计和开发能力很有好处。

      本书的总体结构与编写思想由李宗军和滕延燕设计编写。其中第1、2、4章以及附录部分由滕延燕编写,其余部分由李宗军编写。同时参加编写的还有李志敏、高峰、王金良、周丽美、刘慧、尹海丽、王广彬(青岛科技大学)、李洪伟(山东科技大学)、钱守国(青岛大学)、杨玉霞、段建丽、姚惠萍、王丽丽等老师。我的学生高素真、罗秀基、李海静、戴明霞、毛静、冯彦君、高金风、胡克平、刘涛、宋慧、曾雨、邹剑邦等,他们都参与了我们许多项目的研发工作,为本教材编写了大量的程序代码,祝愿他们在以后的工作和生活中一切顺利,祝愿他们取得更大的成绩。全书得到了中国水利水电出版社相关领导的大力支持和北京万水电子信息有限公司策划团队的用心指导,特别是雷顺加编审、俞飞和周益丹编辑在本书的策划和写作中,提出了很好的建议,使得本书能够更好地用于教学,在此深表感谢。在本书编写过程中参考了大量国内外计算机网络文献资料,在此,谨向这些著作者以及为本书出版付出辛勤劳动的同志深表感谢!

      本书的编写得到了青岛理工大学和理学院领导的大力支持,在此表示衷心的感谢!另外,感谢理学院计科教研室和数学教研室全体同仁为本书的出版所做的努力!

    限于作者水平,书中可能存在错误和不妥之处,敬请各位专家和读者指正,我们的E-mail是:li_zjun@126.com。此外,由于受篇幅所限,本书只包含了Java编程和软件开发的基础知识,若读者希望了解更全面的Java,可访问网站http://java.sun.com

     


    前言
     
    第1章  Java入门 1
    1.1  Java的起源与发展 1
    1.2  Java开发环境 2
    1.2.1  两种开发环境 2
    1.2.2  搭建开发环境 2
    1.2.3  了解环境变量 3
    1.2.4  了解JDK的目录结构 4
    1.3  初步体验Java编程 4
    1.3.1  HelloWorld案例 5
    1.3.2  案例分析 5
    1.4  JDK API文档的使用 7
    1.5  Java学习的建议 8
    1.5.1  打好基础 8
    1.5.2  眼手脑并用 8
    1.5.3  JDK API文档 8
    1.5.4  有效使用网络资源 8
    1.5.5  计算机英语 8
    本章小结 8
    习题1 9
    第2章  Java编程基础 10
    2.1  Java语言基础 10
    2.1.1  注释 10
    2.1.2  关键字和标识符 10
    2.1.3  基本数据类型 11
    2.1.4  字面值与常量 15
    2.1.5  变量 16
    2.1.6  基本类型的类型转换 17
    2.1.7  数组 18
    2.1.8  方法的参数传递 21
    2.1.9  方法的可变参数 23
    2.1.10  格式化输出 24
    2.1.11  包 25
    2.2  Java运算符 26
    2.2.1  算术运算符 26
    2.2.2  比较运算符 27
    2.2.3  逻辑运算符 27
    2.2.4  位运算符 27
    2.2.5  赋值运算符 28
    2.2.6  运算符的优先级 28
    2.3  流程控制 28
    2.3.1  顺序结构 28
    2.3.2  条件分支结构 29
    2.3.3  循环结构 31
    2.3.4  跳转语句 34
    本章小结 35
    习题2 35
    第3章  面向对象 38
    3.1  物理世界与面向对象 38
    3.1.1  人与计算机的关系 38
    3.1.2  物理世界的认知 38
    3.1.3  面向对象方法与 UML 42
    3.2  类与对象 43
    3.2.1  类的定义 43
    3.2.2  构造方法 46
    3.2.3  对象的创建与使用 47
    3.3  封装 47
    3.3.1  访问修饰符 47
    3.3.2  封装的保护作用 48
    3.3.3  增强独立性 48
    3.4  类的继承 48
    3.4.1  继承 48
    3.4.2  继承的UML符号 49
    3.4.3  this与super关键字 50
    3.5  多态 51
    3.5.1  重载 51
    3.5.2  覆盖 52
    3.6  接口与抽象类 53
    3.6.1  接口 53
    3.6.2  抽象类 54
    3.7  引用类型的类型转换 54
    3.7.1  自动类型转换 54
    3.7.2  强制类型转换 55
    3.7.3  自动打包/拆包机制 56
    3.8  其他修饰符 56
    3.8.1  final 56
    3.8.2  static 57
    3.8.3  native 60
    3.8.4  transient 61
    3.8.5  strictfp 61
    3.8.6  volatile 61
    3.8.7  assert 61
    3.9  类实例对象的创建过程 63
    3.10  内部类 64
    3.10.1  成员内部类 64
    3.10.2  方法内部类 67
    3.10.3  匿名内部类 67
    3.11  对象之间的关系 69
    3.11.1  泛化 69
    3.11.2  聚合、组合 70
    3.11.3  依赖 71
    3.11.4  关联 71
    3.12  面向对象程序设计的基本原则 72
    3.12.1  单一职责原则 72
    3.12.2  开闭原则 72
    3.12.3  里氏代换原则 73
    3.12.4  依赖倒转原则 75
    3.12.5  接口隔离原则 76
    3.12.6  合成复用原则 77
    3.12.7  迪米特法则 77
    本章小结 77
    习题3 78
    第4章  泛型 80
    4.1  为什么要引入泛型 80
    4.2  定义简单的泛型 81
    4.3  泛型和子类继承 82
    4.4  泛型的通配符 83
    4.5  泛型方法和类型推断 84
    本章小结 85
    习题4 85
    第5章  异常处理 86
    5.1  什么是异常 86
    5.2  异常处理机制 86
    5.2.1  try/catch/finally 88
    5.2.2  throws 与 throw 89
    5.2.3  异常处理编程原则 89
    本章小结 90
    习题5 90
    第6章  多线程 91
    6.1  基本概念 91
    6.2  线程对象的创建与启动 91
    6.2.1  继承Thread类 91
    6.2.2  实现Runnable接口 93
    6.2.3  两种创建方式的比较 93
    6.3  线程的生命周期 93
    6.4  前台线程和后台线程 94
    6.5  线程的分支与合并 95
    6.6  多线程的同步 96
    6.6.1  线程安全 96
    6.6.2  同步代码块 97
    6.6.3  同步方法 98
    6.7  线程间的通信 100
    本章小结 102
    习题6 102
    第7章  输入输出I/O 103
    7.1  I/O概述 103
    7.2  字符集编码 104
    7.2.1  基本概念 104
    7.2.2  字符集编码的发展 105
    7.2.3  汉字编码 107
    7.2.4  内码和codepage 108
    7.2.5  字符集编码的Java处理 109
    7.3  File类与RandomAccessFile类 112
    7.3.1  File 112
    7.3.2  RandomAccessFile 113
    7.4  流 115
    7.4.1  低级字节流 116
    7.4.2  高级字节流 119
    7.4.3  字符流 121
    7.4.4  对象流与序列化 122
    7.5  NIO包简介 124
    7.5.1  为什么要引入NIO包 124
    7.5.2  流与块的比较 124
    本章小结 124
    习题7 124
    第8章  Java集合框架 125
    8.1  集合框架 125
    8.1.1  引入集合框架的原因 125
    8.1.2  集合框架视图 125
    8.2  集合框架中的常用类与接口 126
    8.2.1  Iterator 126
    8.2.2  Collection 126
    8.2.3  Map 130
    8.2.4  集合处理工具 132
    本章小结 132
    习题8 133
    第9章  常用JDK API 134
    9.1  Object类 134
    9.1.1  Object介绍 134
    9.1.2  getClass方法与reflection机制 135
    9.1.3  toString方法 137
    9.1.4  equals方法与== 138
    9.2  字符串的相关问题 139
    9.2.1  String、StringBuffer、StringBuilder
    类 139
    9.2.2  字符串的解析 140
    9.2.3  正则表达式* 141
    9.3  其他常用的JDK类 144
    9.3.1  Math、StrictMath与Random 144
    9.3.2  日期类 144
    9.3.3  System类 147
    9.3.4  Runtime类 149
    9.4  Scanner 类 151
    本章小结 151
    习题9 152
    第10章  枚举enum* 153
    10.1  声明一个简单的枚举 153
    10.2  带参数的枚举值与构造方法 155
    10.3  带体的枚举值 155
    10.4  实现接口 156
    本章小结 157
    习题10 157
    第11章  GUI编程 158
    11.1  GUI概述 158
    11.2  GUI编程三要素 158
    11.3  图形组件 159
    11.4  容器组件 159
    11.4.1  Applet 159
    11.4.2  Frame 161
    11.4.3  Panel 162
    11.4.4  Dialog 162
    11.4.5  ScrollPane 162
    11.5  布局管理器 163
    11.5.1  FlowLayout 163
    11.5.2  BorderLayout 164
    11.5.3  CardLayout 165
    11.5.4  GridLayout 166
    11.6  事件处理 167
    11.6.1  事件源 167
    11.6.2  事件 168
    11.6.3  监听器 168
    11.6.4  监听器接口适配器 170
    11.7  菜单 173
    11.7.1  下拉式菜单 173
    11.7.2  弹出式菜单 174
    11.8  Graphics 绘图 176
    11.8.1  RGB颜色模式 176
    11.8.2  字体 177
    11.8.3  Java的绘图机制 177
    11.9  国际化I18N 179
    11.9.1  软件的国际化和本地化 179
    11.9.2  I18N编程模型 180
    11.9.3  Locale 181
    11.9.4  本地化的资源 181
    11.10  MVC简介 185
    11.10.1  什么是MVC 185
    11.10.2  观察员模式 186
    11.10.3  MVC综合例程 186
    11.11  Swing简介* 193
    本章小结 193
    习题11 193
    附录A  Java编码规范 194
    附录B  常用操作命令 206
    附录C  Java发展大事记 209
    参考文献 212
最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册