图书简介:
目 录
第1章 Java概述 1
1.1 了解Java 1
1.1.1 Java的诞生和发展 1
1.1.2 Java的特点 2
1.1.3 Java核心技术 5
1.2 JDK 7
1.2.1 JDK的安装和设置 8
1.2.2 Application应用程序的编辑、编译和运行 10
1.2.3 包 10
1.3 MyEclipse 15
1.3.1 MyEclipse集成开发环境 15
1.3.2 Application应用程序的编辑、编译和运行 16
1.3.3 设置MyEclipse环境属性 18
1.3.4 设置项目属性 20
1.3.5 程序调试技术 21
习题1 23
实验1 Application应用程序的编辑、编译和运行 24
第2章 Java语言基础 25
2.1 语言成分 25
2.1.1 标识符与关键字 25
2.1.2 基本数据类型 26
2.1.3 变量与常量 28
2.1.4 运算符与表达式 29
2.2 流程控制语句 35
2.2.1 顺序结构语句 36
2.2.2 选择语句 36
2.2.3 循环语句 38
2.2.4 转移语句 43
2.3 数组 44
2.3.1 一维数组 44
2.3.2 二维数组 47
2.4 静态方法 50
2.4.1 方法声明与调用 50
2.4.2 方法重载 51
2.4.3 参数传递 51
2.4.4 递归方法 56
2.5 字符串 57
习题2 62
实验2 Java程序设计基础 63
第3章 类的封装、继承和多态 66
3.1 类和对象 66
3.1.1 类 66
3.1.2 对象 68
3.2 类的封装性 70
3.2.1 构造与析构 70
3.2.2 对象的引用和运算 72
3.2.3 访问控制 73
3.2.4 静态成员 75
3.2.5 浅拷贝与深拷贝 80
3.3 类的继承性 83
3.3.1 由继承派生类 83
3.3.2 继承原则及作用 84
3.3.3 子类的构造方法 86
3.4 类的多态性 87
3.4.1 子类声明多态成员 87
3.4.2 类型的多态 91
3.4.3 何时确定执行哪个多态方法?怎样执行 91
3.4.4 多态的方法实现 93
3.5 类的抽象性 97
3.5.1 用继承刻画包含关系 97
3.5.2 抽象类 98
3.5.3 最终类 103
习题3 103
实验3 类的封装、继承和多态 105
第4章 接口、内部类和Java API基础 107
4.1 接口与实现接口的类 107
4.2 内部类和内部接口 113
4.3 Java API基础 116
4.3.1 java.lang包中的基础类库 116
4.3.2 java.util包中的工具类库 121
4.4 泛型** 126
习题4 129
实验4 接口与实现接口的类 130
第5章 异常处理 132
5.1 异常处理基础 132
5.1.1 异常处理机制的必要性 132
5.1.2 错误 133
5.1.3 异常 134
5.2 异常处理措施 136
5.2.1 异常处理语句 137
5.2.2 抛出异常 139
5.2.3 定义异常类 140
习题5 141
实验5 异常的抛出、捕获并处理 142
第6章 图形用户界面设计 143
6.1 AWT组件及属性类 143
6.1.1 AWT组件 143
6.1.2 布局管理 147
6.1.3 颜色和字体 149
6.2 事件处理 149
6.2.1 委托事件模型 149
6.2.2 AWT事件类和事件监听器接口 154
6.3 Swing组件及事件 156
6.3.1 Swing组件和布局 156
6.3.2 文本显示和编辑组件及事件 158
6.3.3 按钮组件 163
6.3.4 列表框和组合框组件及事件 164
6.3.5 中间容器 166
6.3.6 定制对话框 167
6.3.7 菜单组件 175
6.3.8 表格组件 183
6.4 图形设计 187
习题6 193
实验6 图形用户界面设计 195
第7章 多线程编程 203
7.1 进程和线程 203
7.1.1 进程 203
7.1.2 线程 205
7.2 Java的线程对象 206
7.2.1 Runnable接口和Thread类 207
7.2.2 线程对象的优先级 210
7.2.3 线程对象的生命周期 211
7.2.4 使用线程实现动画设计 212
7.3 线程互斥和线程同步 217
7.3.1 交互线程,与时序有关的错误 217
7.3.2 交互线程的竞争与互斥 219
7.3.3 交互线程的协作与同步 223
习题7 234
实验7 线程设计 235
第8章 流和文件操作 238
8.1 文件和目录 238
8.1.1 文件 238
8.1.2 目录 240
8.1.3 文件系统 241
8.2 字节流 242
8.2.1 流的概念 242
8.2.2 抽象字节流 243
8.2.3 文件字节流 244
8.2.4 数据字节流 247
8.2.5 对象字节流 252
8.2.6 管道字节流 255
8.3 字符流 259
8.3.1 字符流类 259
8.3.2 Java标准输入、输出 262
8.4 文件操作 263
8.4.1 文件类及其过滤器 263
8.4.2 文件选择对话框组件 267
习题8 276
实验8 流和文件操作 277
第9章 Socket通信 278
9.1 网络编程基础 278
9.2 TCP Socket通信 281
9.3 UDP Socket通信 295
9.3.1 UDP Socket点对点通信 295
9.3.2 UDP组播通信 299
习题9 304
实验9 Socket通信 305
第10章 数据库应用 306
10.1 关系数据库系统 306
10.1.1 关系模型 306
10.1.2 客户-服务器结构的关系数据库系统 308
10.1.3 结构化查询语言SQL 309
10.2 MySQL数据库 313
10.2.1 安装数据库,启动数据库服务 313
10.2.2 MySQL数据库工作台 314
10.3 JDBC 316
10.3.1 JDBC的作用和功能 316
10.3.2 指定JDBC驱动程序 317
10.3.3 连接数据库 318
10.3.4 执行SQL语句 319
10.3.5 处理数据查询结果集 320
习题10 327
实验10 数据库应用 327
第11章 基于JSP的Web应用 329
11.1 Web浏览基础 329
11.2 JSP技术 332
11.2.1 JSP原理 332
11.2.2 运行JSP 333
11.2.3 JSP语法 338
11.2.4 基于JSP提供数据库应用服务的Web应用 345
习题11 347
实验11 基于JSP的Web应用设计 347
第12章 综合应用设计 349
12.1 集合框架 349
12.1.1 集合 350
12.1.2 映射 354
12.2 反射 355
12.3 使用复杂Swing组件 356
12.3.1 BoxLayout盒式布局和Box容器 357
12.3.2 列表框 357
12.3.3 表格 362
12.3.4 多文档界面 362
12.3.5 树 367
12.4 数据库应用 383
12.5 课程设计的要求和选题 398
附录A ASCII字符与Unicode值 410
附录B Java语言的关键字 411
附录C Java基本数据类型 412
附录D Java语言的运算符及其优先级 413
附录E java.lang包API(部分) 414
附录F MyEclipse常用菜单命令 419
参考文献 420
展开
前 言
软件设计的思想和方法以及所采用的程序设计语言,都必须跟随软件时代的发展而不断改进和更新。面向对象程序设计方法是目前软件开发的主流方法。Java语言是目前功能最强、应用最广泛的一种完全面向对象程序设计语言,具有成熟而严密的语法体系、跨平台特点和强大的应用系统设计能力。今日Java应用无处不在,Java作为程序设计的首选语言,其重要性毋庸置疑。因此,采用Java语言进行面向对象的程序设计方法训练是十分恰当的,是程序设计系列课程教学改革的必然,完全符合本科培养目标的要求。
开设Java程序设计课程的目的:一是采用Java语言进行程序设计和面向对象方法的基础训练,二是运用操作系统中的线程、文件概念,网络原理,数据库原理等基础理论进行线程、文件、网络、数据库、Web等应用的设计训练。
Java技术不仅能够实现这些功能,还可以使算法表达更简明、更直接,性能更好。
本书是“十二五”普通高等教育本科国家级规划教材,定位于普通高等学校计算机及相近专业本科生的Java语言程序设计课程教材。
本书力求展现“理论基础厚实、全面展现应用技术、加强工程应用能力培养”的鲜明特色,不仅全面阐述面向对象概念,还通过各种应用实例展示Java技术,充分体现Java语言的优越性,让学生看见、体会并深刻理解,再通过强化实践环节等措施加强工程应用能力的培养,努力探索出一套适合工科院校计算机类专业的教学方案,体现Java作为专业主干课程的重要作用。这也是新工科建设的落实。
(1)理论基础厚实
本书全面、系统地介绍构成Java应用程序的基本要素和必备知识,包括Java跨平台的运行机制、Java语言的语法基础和面向对象基本概念,着重介绍类的封装、继承和多态等面向对象的核心特性,以及接口、内部类、包、异常处理等Java特有的实现机制。
全书结构安排合理,由浅入深,层次分明,章节之间有机衔接,前后呼应,内容涉及的广度和深度符合本科培养目标的要求,配套教学资源齐全。
(2)全面展现Java应用技术
本书介绍Java语言的图形用户界面、多线程、输入/输出流和文件操作、网络通信、数据库应用、Web应用等应用技术。这些知识和技术与现实世界联系紧密,实用性较强,学生易于理解,但实现起来较困难。本书以面向对象理论为基础,以广阔的实际应用为背景,采用一个个贴近生活实际的实例展现Java应用技术,展现面向对象思想的作用和使用方法,说明为什么Java能够在网络环境中被广泛应用,Java的哪些机制使其具有独特的魅力,从而能够更深入地理解面向对象思想的精妙。
(3)加强工程应用能力培养
“Java程序设计”是一门理论与实践并重的课程,不仅要理解基础知识,更要培养软件设计的基本技能。实践性环节是巩固所学理论知识、积累程序设计经验的必不可少的重要环节,是提高程序设计能力和计算机操作技能的有力保障。
注重理论基础和实用技术相结合,注重在实践环节培养程序设计的基本技能,是本书的重要特色。本书将程序设计能力的锻炼和提高设计为一个循序渐进的过程,将基本原理体现在从原理叙述、例题、思考题等课堂讲授环节,到课后习题、上机实验、课程设计等实践性环节,让学生经历“先见识、再模仿、最后自主创新设计”的学习过程,从而并培养良好的程序设计习惯。
每章安排有习题和上机实验题,给出详细的实验训练目标、设计内容和设计要求。实验题精心选择,形式多样,生动有趣,引人入胜,难度逐步增加。
针对课程设计的实践性环节,本书给出了综合应用程序设计实例,详细说明了需求方案、设计目标、设计任务、模块划分、功能实现、调试运行等环节的设计方法,贯彻了理论讲授和案例教学相结合的教学方法,既训练学生具有扎实深厚的基本功,也具有可扩展素质,创新能力强。
本书采用的运行环境有JDK 8、MyEclipse 2015、MySQL 5.7数据库和Tomcat 8.0。
这是一本写程序设计的书。程序设计有一些基本原则和道理。程序是设计出来的,程序员必须具备基础知识和基本技能,在写程序之前需要根据实际应用需求,从全局角度通盘规划考虑,精心策划,选择采取什么策略,清楚有哪些方法可以做得成,每种方法都有什么优缺点,明白为什么要这样做,那样做为什么就不可以,等等。
程序中发现错误了怎么办?这是什么错误,是否能改正,如何改正?这种思路的程序是否值得再继续做下去?作为一个有价值的软件系统,程序要能够预见可能出现的错误,不能预见的错误要事后补救。程序员要知道如何避免和如何补救,不能补救的错误要及时放弃,采取别的策略。总之,无论采用什么方法都要把事情做成。
程序写完了,即使调通了,还必须再想想,程序还有哪些不足?还有哪些情况没有考虑到?是否还能进一步提高算法效率?要把事情做成,还要把事情做好,尽一切努力做得更好。不知不觉间,程序设计能力就会提高很多,“轻舟已过万重山”。
写程序是创作,创作过程是艰苦的,也是快乐的。当程序调试通过时,我们感受到成功的喜悦,哼着小曲,自鸣得意,心情畅快,“春风得意马蹄疾”。人的一生能有值得沉浸其中的事业是幸福的。
全书由叶核亚编著,南京大学计算机科学与技术系陈道蓄教授主审。
本书第1版于2003年出版,岁月如梭,转眼已十多年。感谢电子工业出版社十多年来对我的坚定支持;感谢陈老师认真细致地审阅全稿;感谢王少东、刘晓璐、徐金宝、彭焕峰、刘爱华、温志萍、程初老师和吴尚泽、郁中斐、吴腾阳等同学提供的帮助;感谢众多读者朋友的坚定支持以及提出的宝贵意见。大家对我的指导和帮助使我受益匪浅,受用终身。能与志同道合的人一起讨论共同关心的问题是愉快的,工作也因此变得更有动力。
对书中存在的不妥与错漏之处,敬请读者朋友批评指正。同时,呼吁每位读者购买正版图书,享受正版带来的有用的知识和应有的服务。
本书的全部例题和配套课件可从华信教育资源网站(http://www.hxedu.com.cn)下载,也可发邮件至yeheya@x263.net索取。
作 者
展开