定 价:69.8 元
丛书名:21世纪高等学校计算机类专业核心课程系列教材
- 作者:郭克华主编
- 出版时间:2025/8/1
- ISBN:9787302698241
- 出 版 社:清华大学出版社
- 中图法分类:TP312.8JA
- 页码:
- 纸张:胶版纸
- 版次:
- 开本:16开
-
商品库位:
本书系统讲解JavaSE核心知识,全书共23章,分为6大部分循序渐进引导学习。第1部分(第1章)为Java入门基础,主要介绍Java语言的发展历史、运行机制及Java程序开发需要的准备工作;第2部分(第2章和第3章)为程序设计基础,讲解变量及其运算、流程控制和数组;第3部分(第4~6章)为面向对象,通过案例剖析面向对象的原理、概念和应用;第4部分(第7~10章)为工具API,内容涵盖Java异常处理、常用API、多线程开发以及IO操作;第5部分(第11~15章)为Java应用开发,包含GUI开发、图形开发、网络编程等;第6部分(第16~23章)为Java实训,结合实战案例帮助读者掌握JavaSE开发能力。全书内容由浅入深,辅以大量的实例说明,并有针对性地提供了一些编程实训,逐步引领读者从入门基础到各个知识点的学习。本书为学校教学量身定制,供高等院校JavaSE应用开发相关课程使用,也可供没有JavaSE应用开发基础的程序员作为入门用书,还可供社会Java技术培训班作为教材使用。对于缺乏项目实战经验的程序员来说,本书可用于快速积累项目开发经验。
本书特色:(1)实战性:所有内容都由案例引入,通俗易懂。(2)流行性:书中讲解的都是JavaSE开发过程中较为流行的方法、框架、模式等,紧扣学生的就业需求。(3)适合教学:书中章节安排得当,将习题融于讲解的过程中,教师可以根据情况选用,也可以进行适当增减。为便于教学,本书提供丰富的配套资源,包括教学大纲、教学课件、程序源码和习题答案。
前言
党的二十大报告指出: 教育、科技、人才是全面建设社会主义现代化国家的基础性、战略性支撑。必须坚持科技是优质生产力、人才是优质资源、创新是优质动力,深入实施科教兴国战略、人才强国战略、创新驱动发展战略,开辟发展新领域新赛道,不断塑造发展新动能新优势。高等教育与经济社会发展紧密相连,对促进就业创业、助力经济社会发展、增进人民福祉具有重要意义。
本书为零基础的读者讲解Java SE技术。本书内容涵盖Java SE开发环境配置、程序设计基础、面向对象、工具API、GUI开发、图形开发、网络编程和案例实训。每章末尾给出上机习题,用于对该章内容进行阶段性总结演练。
本书作者长期从事教学工作,积累了丰富的教学经验,其“实战教学法”取得了很好的效果。本书有以下几个特点。
(1) 实战性。所有内容都由案例引入,通俗易懂。
(2) 流行性。书中讲解的都是Java SE开发过程中较为流行的方法、框架、模式等,紧扣学生的就业需求。
(3) 适合教学。书中章节安排得当,将习题融于讲解的过程中,教师可以根据情况选用,也可以进行适当增减。
一、 本书的知识体系
学习Java SE应用开发能有计算机操作的基本技能,以及基本的逻辑思维。本书的知识体系结构如下图所示,遵循了循序渐进的原则,逐步引领读者从入门基础到各知识点的学习。
目录
第1部分入 门 基 础
第1章Java语言入门
第2部分程序设计基础
第2章程序设计基础——变量及其运算
第3章程序设计基础——流程控制和数组
第3部分面 向 对 象
第4章面向对象编程(一)
第5章面向对象编程(二)
第6章面向对象编程(三)
第4部分工具API
第7章Java异常处理
第8章Java常用API
第9章Java多线程开发
第10章Java IO操作
第5部分Java应用开发
第11章GUI程序开发
第12章Java界面布局管理
第13章Java事件处理
第14章Java画图
第15章Java网络应用开发
续表
第6部分Java实训
第16章程序设计基础实训
第17章面向对象实训: 单例模式
第18章面向对象实训: 软件功能扩充
第19章工具API实训: 字符处理与文本翻译
第20章GUI开发实训: 用户管理系统
第21章Java画图实训: 卡通时钟和拼图游戏
第22章网络编程实训: 在线打字游戏
第23章综合实训: 即时通信软件开发
二、 本书内容介绍
全书共23章。
第1章为Java语言入门,介绍Java的发展历史和Java的运行机制,以及Java程序开发需要的准备工作。
第2章为程序设计基础——变量及其运算,首先介绍变量的定义、变量的数据类型及其转换,然后讲解Java中的各种运算,最后介绍运算符的优先级。
第3章为程序设计基础——流程控制和数组,首先介绍三种结构的用法,并讲解break和continue语句,然后讲解数组的作用、定义、性质和用法,以及二维数组的使用。
第4章为面向对象编程(一),主要介绍面向对象的基本原理和基本概念,包括类、对象、成员变量、成员函数、构造函数以及函数的重载。
第5章为面向对象编程(二),针对面向对象的应用,详细讲解一些比较高级的概念。首先讲解静态变量、静态函数、静态代码块,然后讲解封装、包和访问控制符,最后简单介绍类中类的使用。
第6章为面向对象编程(三),讲解继承和覆盖,多态性、抽象类和接口的应用,然后讲解几个其他问题,包括final关键字、Object类、jar命令,以及Java文档的使用。
第7章为Java异常处理,讲解异常处理的原理以及需要注意的问题。
第8章为Java常用API,讲解数值运算、字符串处理、数据类型转换和常见系统类、集合框架等。
第9章为Java多线程开发,讲解多线程的开发、线程控制及线程的安全性。
第10章为Java IO操作,讲解文件的操作、字节流的读写和字符流的读写,介绍RandomAccessFile类和Properties类。
第11章为GUI程序开发,讲解javax.swing中的一些API,主要涉及窗口开发、控件开发、颜色、字体和图片开发,以及一些常见的其他功能。
第12章为Java界面布局管理,讲解几种常见的布局如FlowLayout、GridLayout、BorderLayout、空布局以及其他比较复杂的布局方式,然后用一个计算器程序对其进行总结。
第13章为Java事件处理,讲解事件的基本原理、开发流程和几种常见事件的处理,以及用Adapter简化事件的开发。
第14章为Java画图,讲解画图的原理及方法,画图像及图像的缩放、裁剪和旋转。
第15章为Java网络应用开发,使用TCP编程实现一个简单的聊天室。
第16~23章为8个实训案例,可以在讲课过程中穿插使用。
本书为学校教学量身定制,供高等院校Java SE应用开发相关课程使用,也可供没有Java SE应用开发基础的程序员作为入门用书,还可供社会Java技术培训班作为教材使用。对于缺乏项目实战经验的程序员来说,本书可用于快速积累项目开发经验。
为便于教学,本书提供丰富的配套资源,包括教学大纲、教学课件、电子教案、程序源码、习题答案和微课视频。
资源下载提示
课件等资源: 扫描封底的“图书资源”二维码,在公众号“书圈”下载。
素材(源码)等资源: 扫描目录上方的二维码下载。
微课视频: 扫描封底的文泉云盘防盗码,再扫描书中相应章节的视频讲解二维码,可以在线学习。
本书为《Java程序设计与应用开发》的IDEA版本,由郭克华和曹瑞共同编写,其中,曹瑞撰写部分约10万字,并完成了程序调试。
由于作者水平有限,书中错误和不妥之处在所难免,敬请读者批评指正。
郭克华
2025年5月
郭克华,二级教授,博士生导师,中组部国家万人计划青年拔尖人才,湖南省芙蓉学者,湖南省杰出青年获得者,2次主持获得湖南省技术发明奖二等奖、主持中国科技产业化奖二等奖,国家社会实践一流课程主讲人。以第1作者出版教材5部,其中2部再版3次,重印20次,获得教学成果奖1项,湖南省教学成果奖3项。
目录
第1部分入 门 基 础
第1章Java语言入门
1.1认识Java语言
1.1.1认识编程语言
1.1.2Java的来历
1.1.3Java语言的优势
1.1.4Java语言的三个版本
1.1.5编程前的准备工作
1.2安装JDK
1.2.1获取JDK
1.2.2安装JDK
1.2.3安装目录介绍
1.2.4环境变量设置
1.3开发优质个Java程序
1.3.1编写源代码
1.3.2将源代码编译成.class文件
1.3.3执行.class文件
1.3.4常见错误
1.4用IDEA开发Java程序
1.4.1什么是IDEA
1.4.2安装IDEA
1.4.3建立项目
1.4.4开发Java程序
1.4.5维护项目
习题1
第2部分程序设计基础
第2章程序设计基础——变量及其运算
2.1认识变量
2.1.1变量
2.1.2变量类型
2.2使用变量
2.2.1整型变量
2.2.2浮点型变量
2.2.3字符型变量
2.2.4布尔型变量
2.2.5基本数据类型之间的类型转换
2.2.6基本数据类型和字符串之间的转换
2.2.7变量的作用范围
2.3注释的书写
2.3.1单行注释
2.3.2多行注释
2.3.3文档注释
2.4Java中的运算
2.4.1算术运算
2.4.2赋值运算
2.4.3关系运算
2.4.4逻辑运算
2.4.5运算符的优先级
习题2
第3章程序设计基础——流程控制和数组
3.1程序设计的结构
3.1.1判断结构
3.1.2if结构
3.1.3switch结构
3.2认识循环结构
3.2.1循环结构
3.2.2while循环
3.2.3do…while循环
3.2.4for循环
3.2.5循环嵌套
3.2.6break语句和continue语句
3.3数组
3.3.1数组原理
3.3.2定义数组
3.3.3使用数组
3.3.4数组的引用性质
3.3.5数组的应用
3.3.6多维数组
习题3
第3部分面 向 对 象
第4章面向对象编程(一)
4.1认识类和对象
4.1.1类
4.1.2定义类
4.1.3使用类实例化对象
4.1.4访问对象中的成员变量
4.1.5对象的引用性质
4.2认识成员函数
4.2.1成员函数
4.2.2定义和使用成员函数
4.2.3函数参数的传递
4.2.4函数重载
4.3认识构造函数
4.3.1构造函数
4.3.2定义和使用构造函数
习题4
第5章面向对象编程(二)
5.1静态变量和静态函数
5.1.1静态变量
5.1.2静态变量的常见应用
5.1.3静态函数
5.1.4静态代码块
5.2认识封装
5.2.1封装
5.2.2实现封装
5.3使用包
5.3.1包
5.3.2将类放在包中
5.3.3访问包中的类
5.4使用访问控制修饰符
5.4.1访问控制修饰符
5.4.2类的访问控制修饰符
5.4.3成员的访问控制修饰符
5.5使用类中类
习题5
第6章面向对象编程(三)
6.1使用继承
6.1.1继承
6.1.2实现继承
6.1.3继承的底层本质
6.2成员的覆盖
6.2.1成员覆盖
6.2.2成员覆盖的作用
6.3使用多态
6.3.1多态
6.3.2使用多态
6.3.3父类和子类对象的类型转换
6.4抽象类和接口
6.4.1抽象类
6.4.2接口
6.5其他
6.5.1关键字final
6.5.2Object类
6.6工具的使用
6.6.1将字节码打包发布
6.6.2文档的使用
习题6
第4部分工具API
第7章Java异常处理
7.1认识异常
7.1.1生活中的异常
7.1.2软件中的异常
7.1.3为什么要处理异常
7.1.4异常的机理
7.1.5常见异常
7.2异常的就地捕获
7.2.1就地捕获
7.2.2就地捕获异常
7.2.3多种异常
7.2.4用finally安全性
7.3异常的向前抛出
7.3.1向前抛出
7.3.2向前抛出的方法
7.4自定义异常
7.4.1自定义异常的意义
7.4.2自定义异常的使用方法
习题7
第8章Java常用API
8.1数值运算
8.1.1用Math类实现数值运算
8.1.2实现随机数
8.2用String类进行字符串处理
8.3用StringBuffer类进行字符串处理
8.4基本数据类型的包装类
8.4.1认识包装类
8.4.2通过包装类进行数据类型转换
8.5认识Java集合
8.5.1集合
8.5.2Java中的集合
8.5.3认识泛型
8.6使用一维集合
8.6.1一维集合
8.6.2List集合
8.6.3Set集合
8.6.4使用Collections类对集合进行处理
8.7使用二维集合
8.7.1Map集合
8.7.2使用Hashtable和Properties
习题8
第9章Java多线程开发
9.1认识多线程
9.1.1多线程
9.1.2继承Thread类开发多线程
9.1.3实现Runnable接口开发多线程
9.1.4两种方法的区别
9.2控制线程的运行
9.2.1控制线程运行的意义
9.2.2传统方法的安全问题
9.2.3控制线程运行的方法
9.3线程协作安全
9.3.1线程协作
9.3.2线程协作的问题案例
9.3.3线程协作的解决方案
9.4线程同步安全
9.4.1线程同步
9.4.2线程同步的问题案例
9.4.3线程同步的解决方案
9.4.4线程死锁
9.5认识定时器
9.5.1定时器的作用
9.5.2定时器的使用
习题9
第10章Java IO操作
10.1认识IO操作
10.2File类操作
10.2.1File类
10.2.2File类操作文件
10.2.3File类操作目录
10.3字节流的输入与输出
10.3.1字节流
10.3.2字节流读写文件
10.3.3字节流读写对象
10.4字符流的输入与输出
10.4.1字符流
10.4.2字符流读写文件
10.4.3键盘输入
10.5IO操作的其他类
10.5.1RandomAccessFile类
10.5.2Properties类
习题10
第5部分Java应用开发
第11章GUI程序开发
11.1认识GUI和Swing
11.1.1图形用户界面
11.1.2Swing
11.2使用窗口
11.2.1JFrame类开发窗口
11.2.2JDialog类开发窗口
11.3使用控件
11.3.1控件
11.3.2标签、按钮、文本框、多行文本框和密码框
11.3.3单选按钮、下拉列表框和复选框
11.3.4菜单
11.3.5使用JOptionPane
11.3.6其他控件
11.4颜色、字体和图片的使用
11.4.1使用颜色
11.4.2使用字体
11.4.3使用图片
11.5其他功能
11.5.1设置界面的显示风格
11.5.2获取屏幕大小
11.5.3使用默认应用程序打开文件
11.5.4将程序显示为系统托盘
习题11
第12章Java界面布局管理
12.1布局管理
12.1.1认识布局管理
12.1.2认识LayoutManager
12.2FlowLayout布局
12.2.1认识FlowLayout
12.2.2使用FlowLayout
12.3GridLayout布局
12.3.1认识GridLayout
12.3.2使用GridLayout
12.4BorderLayout布局
12.4.1认识BorderLayout
12.4.2使用BorderLayout
12.5综合案例——计算器
12.5.1案例需求
12.5.2关键技术
12.5.3代码的编写
12.6空布局
12.6.1认识空布局
12.6.2使用空布局
习题12
第13章Java事件处理
13.1认识事件处理
13.1.1事件
13.1.2事件处理代码的编写
13.1.3其他编程风格
13.2处理ActionEvent
13.2.1认识ActionEvent
13.2.2使用ActionEvent解决实际问题
13.3处理FocusEvent
13.3.1认识FocusEvent
13.3.2使用FocusEvent解决实际问题
13.4处理KeyEvent
13.4.1认识KeyEvent
13.4.2使用KeyEvent解决实际问题
13.5处理MouseEvent
13.5.1认识MouseEvent
13.5.2使用MouseEvent解决实际问题
13.6处理WindowEvent
13.6.1认识WindowEvent
13.6.2使用WindowEvent解决实际问题
13.7使用Adapter简化开发
习题13
第14章Java画图
14.1认识Java画图
14.1.1画图
14.1.2实现画图
14.2Graphics画图形
14.2.1Graphics
14.2.2使用Graphics
14.2.3用Graphics实现画图
14.2.4综合案例
14.3认识画图像
14.3.1画图像
14.3.2画图像的使用
14.3.3图像的裁剪和缩放
14.3.4图像的旋转
14.4结合键盘事件进行画图
14.4.1实例需求
14.4.2键盘事件
14.4.3代码的编写
14.4.4解决重复画面问题
14.5结合鼠标事件进行画图
14.5.1实例需求
14.5.2复习鼠标事件
14.5.3代码的编写
习题14
第15章Java网络应用开发
15.1认识网络编程
15.1.1网络应用程序
15.1.2认识IP地址和端口
15.1.3客户端和服务器
15.2用客户端连接到服务器
15.2.1案例介绍
15.2.2实现客户端连接到服务器
15.2.3代码的编写
15.3使用TCP实现双向聊天系统
15.3.1案例介绍
15.3.2实现双向聊天
15.3.3代码的编写
15.4使用TCP实现多客户端相互通信系统
15.4.1案例介绍
15.4.2编写服务器程序
15.4.3编写客户端程序
习题15
第6部分Java实训
第16章程序设计基础实训
16.1关于变量和数据类型的实践
16.2关于流程控制和数组的综合实践
第17章面向对象实训: 单例模式
17.1需求简介
17.2不用单例模式的效果
17.3最原始的单例模式
17.4首次改进
17.5再次改进
17.6思考题
第18章面向对象实训: 软件功能扩充
18.1需求简介
18.2实现方法
18.3出现的问题
18.4改进
18.5测试
第19章工具API实训: 字符处理与文本翻译
19.1字符频率统计软件
19.1.1软件功能简介
19.1.2重要技术
19.1.3项目结构
19.1.4代码的编写
19.1.5思考题
19.2文本翻译软件
19.2.1软件功能简介
19.2.2重要技术
19.2.3项目结构
19.2.4代码的编写
19.2.5思考题
第20章GUI开发实训: 用户管理系统
20.1用户管理系统功能简介
20.2关键技术
20.2.1组织界面
20.2.2访问文件
20.2.3保持状态
20.2.4其他公共功能
20.3代码的编写
20.3.1编写util包中的类
20.3.2编写frame包中的类
20.3.3编写主函数所在的类
20.4思考题
第21章Java画图实训: