温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
Java
程序设计
简明
教程
普 通 高 等 教 育“十 三 五”规 划 教 材 新工科建设之路计算机类专业规划教材 Java 程序设计简明教程 张晓龙 吴志祥 刘 俊 编著 刘宏伟 王 伟 审 内 容 简 介 本书系统地介绍了 Java 桌面编程的基础知识,共分 10 章。其中,前 9 章的内容包括 Java 概述及开发环境,Java 语言基础,面向对象的程序设计,多线程,集合框架与泛型,Java UI 设计,Java I/O操作与文件读写,网络编程和 JDBC 编程;第 10 章是综合项目实训。本书充分考虑后续课程的需要,精心安排内容结构,力求从简单到复杂,循序渐进,突出逻辑性和实用性。重要的知识点都配有示例,配套的课程网站包括了相关软件下载、上机实验指导(含项目案例)、课件下载和课程档案文件下载等。本书可以作为高等院校计算机专业和相关专业学生学习 Java 程序设计等课程的教材,也可以作为Web 开发者的参考书。未经许可,不得以任何方式复制或抄袭本书之部分或全部内容。版权所有,侵权必究。图书在版编目(CIP)数据 Java 程序设计简明教程/张晓龙,吴志祥,刘俊编著.北京:电子工业出版社,2018.7 ISBN 978-7-121-34114-4.J .张 吴 刘 .JAVA 语言程序设计高等学校教材 .TP312.8 中国版本图书馆 CIP 数据核字(2018)第 083115 号 策划编辑:张小乐 责任编辑:张小乐 印 刷:装 订:出版发行:电子工业出版社 北京市海淀区万寿路 173 信箱 邮编:100036 开 本:7871 092 1/16 印张:16 字数:435 千字 版 次:2018 年 7 月第 1 版 印 次:2018 年 7 月第 1 次印刷 定 价:45.00 元 凡所购买电子工业出版社图书有缺损问题,请向购买书店调换。若书店售缺,请与本社发行部联系,联系及邮购电话:(010)88254888,88258888。质量投诉请发邮件至 ,盗版侵权举报请发邮件至 。本书咨询联系方式:(010)88254462,。III前 言 随着网络技术应用的日益发展,Java 已成为当今最流行的面向对象程序设计语言,广泛应用于桌面开发、Web 开发和移动开发等领域。目前,关于 Java 的相关书籍较多,但真正从零基础开始、内容简明而又系统的教材并不多见。为此,笔者编写了本书,希望能够满足高校教学的需求。在充分考虑了后续课程(Java EE 和 Android 移动平台开发等)需要的基础上,本书系统地介绍了 Java 桌面编程的基础知识,共分 10 章。其中,前 9 章的内容包括 Java 开发环境的搭建,Java 编程基础,面向对象的程序设计,多线程,集合框架与泛型,Java UI设计,Java I/O 操作与文件读写,网络编程和 JDBC 编程;第 10 章是综合项目实训。本书结构合理、逻辑性强。作者对内容设置和结构安排进行了深思熟虑的推敲,力求做到内容从简单到复杂,循序渐进,根据相关知识点之间的联系进行组织。例如,第 2 章介绍的异常处理,将在第 4 章 Java 多线程、第 7 章 Java I/O、第 8 章 Java 网络编程和第 9 章 JDBC 编程中用到;第 3 章介绍的匿名实现类(内部类),将在第 6 章的监听器设计中用到;第 5 章介绍的泛型与集合将在第 6 章 Java UI、第 7 章 Java I/O 和 第 8 章 Java 网络编程中用到;第 7 章介绍的流的相关 API 将在第 8 章 Java 网络编程中用到。每章对知识点的介绍简明扼要且体系严密。通过图解的方式,清晰地反映了软件包中类(或接口)的成员属性(方法)。同时,配合文字简要说明其重点。此外,每章精心设计的典型例子紧扣本章相关理论。课后练习与实验是教学的重要环节。每章末均配有习题及实验。此外,第 10 章综合项目实训能帮助学生综合使用 Java 的各个知识点。本书有配套的上机实验网站,提供包括实验目的、实验内容、在线测试(含答案和评分)和素材等,还包括教学大纲、实验大纲、各种软件的下载链接、课件和案例源代码下载、在线测试等,极大地方便了教与学。本书由张晓龙、吴志祥和刘俊整体构思并编写完成,张智老师制作了精美的 PPT 课件,廖光忠、柯鹏老师和研究生李岩等都参与了许多问题的讨论和代码测试。在此,一并致谢。本书可以作为高等院校计算机专业和相关专业学生学习 Java 程序设计等课程的教材,也可以作为 Web 开发者的参考书。如需获取本书配套的课件、案例源代码等教学资料,可访问本书配套教学网站http:/ 或 http:/ 者 2018 年 4 月于武汉 V 目 录 第 1 章 Java 概述及开发环境 (1)1.1 Java 语言发展简史及应用 (1)1.1.1 Java 语言发展简史 (1)1.1.2 Java 语言应用的三个方向 (1)1.2 Java 语言的特点 (2)1.2.1 面向对象特性、解释性与简单性 (2)1.2.2 平台无关性(可移植性)(3)1.2.3 健壮性与安全性 (3)1.2.4 多线程特性 (3)1.2.5 网络支持 (3)1.3 Java 运行环境及开发环境 (4)1.3.1 安装 JDK 并建立环境变量 (4)1.3.2 JDK 工具箱与 Java 虚拟机 (5)1.3.3 Java 集成开发环境 eclipse-jee (5)1.3.4 统一 eclipse 项目编码 (6)1.3.5 eclipse 若干快捷操作 (6)1.4 Java 面向对象初步 (7)1.4.1 类与对象、封装特性(7)1.4.2 Java 程序结构 (8)1.4.3 Java 类库及 API 简介 (9)1.4.4 导入 Java 包指令 import (10)1.5 在 eclipse 中创建与运行 Java 项目 (10)1.5.1 一个简单 Java 项目的创建与运行(10)1.5.2 Java 项目的导入 (11)1.5.3 Java 项目导出及打包应用程序 (12)1.5.4 Maven 项目的创建与使用 (13)1.6 Java 程序调试 (16)1.6.1 单元测试 JUnit 4 (16)1.6.2 动态调试模式 Debug (18)习题 1 (19)实验 1 (20)VI 第 2 章 Java 语言基础 (22)2.1 标识符、关键字与保留字 (22)2.1.1 标识符 (22)2.1.2 关键字与保留字 (22)2.2 数据类型 (23)2.2.1 8 种基本数据类型 (23)2.2.2 引用数据类型 (24)2.2.3 包装类 (26)2.2.4 强制转换类型 (26)2.3 运算符与表达式 (27)2.4 流程控制语句 (28)2.4.1 条件语句 if (28)2.4.2 开关语句 switch (28)2.4.3 循环语句 for/while/dowhile (29)2.4.4 中断语句 continue/break/return (29)2.5 数组及其遍历 (30)2.5.1 一维数组的创建及其遍历 (30)2.5.2 二维数组的创建及其遍历 (30)2.6 与日期、时间、数学相关的类 (31)2.6.1 Date 类 (31)2.6.2 DateFormat 类和 SimpleDateFormat 类 (31)2.6.3 Calendar 类和 GregorianCalendar 类 (31)2.6.4 Math 类 (32)2.7 异常处理与异常类 (33)2.7.1 Java 内置异常 (34)2.7.2 Java 异常处理 (36)2.7.3 使用 throws 抛出异常 (38)习题 2 (39)实验 2 (41)第 3 章 Java 面向对象的程序设计 (43)3.1 面向对象基础 (43)3.1.1 包与类的声明 (43)3.1.2 类的构造方法与析构方法 (44)3.1.3 使用 this 关键字 (45)3.1.4 访问权限控制 (46)3.1.5 方法重载 (46)VII 3.2 继承 (47)3.2.1 子类继承父类 (47)3.2.2 方法重写 (48)3.2.3 关键字 super (48)3.3 抽象、接口与多态 (49)3.3.1 使用关键字 abstract 定义抽象方法(类)(49)3.3.2 使用关键字 interface 定义接口 (50)3.3.3 使用类继承实现多态、动态绑定 (51)3.3.4 使用接口实现多态 (53)3.4 类的高级特征 (54)3.4.1 使用关键字 static 定义静态成员和静态代码块 (54)3.4.2 使用关键字 final 定义终结类(方法或变量)(55)3.4.3 内部类(接口)(56)3.4.4 创建接口(抽象类)的匿名实现类对象 (57)3.4.5 在类方法里使用可变参数 (58)3.4.6 Class 类与 Java 反射机制 (58)3.4.7 动态代理类 Proxy 与远程过程调用(PRC)(61)习题 3 (64)实验 3 (66)第 4 章 Java 进程与多线程 (68)4.1 Java 进程 (68)4.2 Java 多线程 (69)4.2.1 线程与多线程概念 (69)4.2.2 在某个进程中创建多个线程 (69)4.3 线程同步 (73)4.4 线程间的协作 (75)4.5 死锁 (78)4.6 异步任务处理 (80)习题 4 (82)实验 4 (83)第 5 章 Java 集合框架与泛型 (85)5.1 Java 集合框架概述与泛型 (85)5.1.1 Java 集合框架的主要接口 (85)5.1.2 迭代接口 Iterable 与迭代器 Iterator (86)5.1.3 Java 泛型 (87)5.2 Collection 集合及其遍历 (89)VIII 5.2.1 List 接口及其常用实现类 (90)5.2.2 Set 集合接口及实现类 (93)5.2.3 队列接口 Queue 及实现类 (95)5.3 Map 集合及其遍历 (97)5.3.1 Map 接口 (97)5.3.2 Map 实现类 HashMap 及其他实现类 (98)5.3.3 使用 Map.Entry 遍历 Map 集合 (102)习题 5 (104)实验 5 (105)第 6 章 Java UI 设计及图形功能 (107)6.1 抽象窗口工具集 AWT (107)6.1.1 Java AWT 概述 (107)6.1.2 AWT 常用组件 (109)6.1.3 布局管理器及常用布局 (110)6.1.4 Java 图形功能 (112)6.1.5 Java 事件处理模型 (115)6.1.6 Java 小程序 Applet (120)6.2 Swing UI (122)6.2.1 Swing 概述 (122)6.2.2 JFrame 框架 (123)6.2.3 Swing 容器组件 JPanel (123)6.2.4 Swing 常用组件 (124)6.3 安装 WindowBuilder 实现 UI 可视化 (135)习题 6 (138)实验 6 (139)第 7 章 Java I/O 操作与文件读写 (142)7.1 Java I/O 流及分类 (142)7.2 控制台 I/O (143)7.2.1 PrintStream 对象 System.out 和 System.err (143)7.2.2 InputStream 对象 System.in (143)7.3 文件类 File 及 Java 文件读写 (144)7.3.1 类 File 的常用方法 (144)7.3.2 Java 文件读写 (146)7.4 字节流 (148)7.4.1 字节流抽象类 InputStream 与 OutputStream (148)7.4.2 文件字节流 FileInputStream 和 FileOutputStream (150)IX