全新正版书籍,24小时发货,可开发票。
¥ 65.4 8.2折 ¥ 79.8 全新
库存2件
作者耿祥义、张跃平
出版社清华大学出版社
ISBN9787302540526
出版时间2020-01
装帧平装
开本16开
定价79.8元
货号28501728
上书时间2024-12-20
前言
本书是《Java面向对象程序设计》一书的第3版,使用的JDK版本是JDK 11,增加了JDK 10版本之后的“局部变量类型推断”内容,以及Java 8之后的Lambda表达式内容。在设计模式一章增加了责任链模式,将JDBC操作数据库一章更新为JDBC与MySQL数据库,同时也介绍了SQL Server、Derby和Access数据库。另外,增加了一个实训内容,作为本书的后一章。其他章节也都做了适当调整,包括内容的组织和例子(部分例子的调整是为了适应新的JDK版本),使得本书更加适合教学和学习。本书继续保持可读性和实用性,特别强调面向对象的程序设计思想。本书全面地讲解了Java的重要知识,尤其强调面向对象的设计思想和编程方法,在内容的深度和广度方面都给予了仔细考虑,在类、对象、继承、接口等重要的基础知识上侧重深度,而在实用类、输入流、输出流、Java网络技术、JDBC数据库操作等实用技术方面的讲解上侧重广度。通过本书的学习,读者可以掌握Java面向对象编程的思想和Java编程中的一些重要技术。
全书共分17章。第1章主要介绍Java产生的背景和Java平台,读者可以了解到Java是怎样做到“一次写成,处处运行”的。第2章和第3章主要介绍Java的基本数据类型、数组、枚举类型,以及运算符和控制语句。第4章至第6章是本书的重点之一,讲述类、对象、继承、接口、匿名类、异常类、Lambda表达式等内容。第7章和第8章是对第4章、第5章知识的总结升华,第7章讲述面向对象设计的基本原则,第8章讲解几个重要的设计模式,以体现面向对象设计的基本原则。第9章讲述常用的实用类,包括字符串、日期、正则表达式、模式匹配以及数学计算等。第10章和第11章是基于Java Swing的GUI图形用户界面设计,讲解常用的组件和容器,对于比较复杂的组件都给出很实用的例子。第12章讲解Java中的输入流与输出流技术,这部分特别介绍怎样使用输入流和输出流来克隆对象、Java的文件锁技术以及使用Scaner解析文件等重要内容。第13章讲解泛型和集合框架,强调如何使用集合框架提供的类来有效、合理地组织程序中的数据。第14章主要讲解Java怎样使用JDBC操作数据库,讲解预处理、事务处理等重要技术,以及 Java的内置Derby数据库。第15章讲述多线程技术,通过许多有启发的例子来帮助读者理解多线程编程。第16章讲解Java在网络编程中的一些重要技术,涉及URL、Socket、InetAddrees、DatagramPacket等重要的类,而且特别讲解Java远程调用(RMI)。第17章采用MVC思想讲解怎样设计和实现一个单词字典小系统。
注: 本书的例题全部在JDK 11环境下编译通过。本书提供了50小时的教学视频,扫描书中的二维码可以在线观看学习,本书的附录中还列出了书中视频对应二维码的汇总表,方便读者查阅; 本书还提供教学大纲、教学课件、电子教案、程序源码等配套资源,扫描封底的课件二维码可以下载。关注作者微信号javaviolin可获得有关资源。
本书可作为高等院校计算机专业面向对象程序设计课程或Java程序设计课程的教材。
希望本书能对读者学习Java有所帮助,并请读者批评指正。
作者
2019年9月
全书分为17章,分别讲解了基本数据类型、枚举和数组、运算符、表达式和语句、类、对象和接口、面向对象的几个基本原则、重要的设计模式、常用实用类、Java Swing图形用户界面、对话框、Java输入/输出流、泛型与集合框架、JDBC数据库操作、Java多线程机制、Java网络基础以及Java Applet等内容。 本书适合作为高等院校计算机专业Java语言程序设计以及面向对象语言课程的教材。
耿祥义,1992 年 7 月至 1995 年 7月,中国科学技术大学数学系,博士研究生毕业,获博士学位;1995年9 月至1997年7月中山大学博士后流动站从事研究工作;1997 年 7月至今大连交通大学软件学院任教授。在清华大学出版社主编教材10余部。《Java 2实用教程(第5版)》《Java 2实用教程(第5版)实验指导与习题解答》《Java程序设计精编教程(第3版)-微课版》
目录
源码下载
第1章Java入门
1.1Java的地位
1.1.1网络地位
1.1.2语言地位
1.1.3需求地位
1.2Java 的特点
1.2.1简单
1.2.2面向对象
1.2.3平台无关
1.2.4多线程
1.2.5动态
1.3安装JDK
1.3.13种平台简介
1.3.2安装Java SE平台
1.3.3设置系统环境变量
1.4Java程序的开发步骤
1.5简单的Java应用程序
1.5.1源文件的编写与保存
1.5.2编译
1.5.3运行
1.5.4运行环境的选择
1.6Java应用程序的基本结构
1.7注释
1.8编程风格
1.8.1Allmans风格
1.8.2Kernighan风格
1.9Java之父——James Gosling
1.10小结
习题1
第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.3从命令行输入与输出数据
2.3.1输入基本型数据
2.3.2输出基本型数据
2.4数组
2.4.1声明数组
2.4.2创建数组
2.4.3数组元素的使用
2.4.4length的使用
2.4.5数组的初始化
2.4.6数组的引用
2.4.7数组的表示格式
2.4.8复制数组
2.4.9排序与使用二分法查找
2.5枚举类型
2.6小结
习题2
第3章运算符、表达式和语句
3.1运算符与表达式
3.1.1算术运算符与算术表达式
3.1.2自增、自减运算符
3.1.3算术混合运算的精度
3.1.4关系运算符与关系表达式
3.1.5逻辑运算符与逻辑表达式
3.1.6赋值运算符与赋值表达式
3.1.7位运算符
3.1.8instanceof运算符
3.1.9运算符综述
3.2语句概述
3.3条件分支语句
3.3.1if语句
3.3.2if…else语句
3.3.3if…else if…else 语句
3.4开关语句
3.5循环语句
3.5.1for循环语句
3.5.2while循环语句
3.5.3do…while循环语句
3.6break和continue语句
3.7数组与for语句
3.8枚举类型与for、switch语句
3.9小结
习题3
第4章类与对象
4.1编程语言的几个发展阶段
4.1.1面向机器语言
4.1.2面向过程语言
4.1.3面向对象语言
4.2类
4.2.1类的声明
4.2.2类体
4.2.3成员变量和局部变量
4.2.4方法
4.2.5方法重载
4.2.6构造方法
4.2.7类方法和实例方法
4.2.8几个值得注意的问题
4.3对象
4.3.1构造方法
4.3.2创建对象
4.3.3使用对象
4.3.4对象的引用和实体
4.4参数传值
4.4.1基本数据类型参数的传值
4.4.2引用类型参数的传值
4.4.3可变参数
4.4.4有理数的类封装
4.5对象的组合
4.6static关键字
4.6.1实例变量和类变量的区别
4.6.2实例方法和类方法的区别
4.7this关键字
4.7.1在构造方法中使用this
4.7.2在实例方法中使用this
4.8包
4.8.1包语句
4.8.2有包名的类的存储目录
4.8.3运行有包名的主类
4.9import语句
4.9.1引入类库中的类
4.9.2引入自定义包中的类
4.9.3使用无包名的类
4.9.4避免类名混淆
4.10访问权限
4.10.1私有变量和私有方法
4.10.2公有变量和公有方法
4.10.3友好变量和友好方法
4.10.4受保护的成员变量和方法
4.10.5public类与友好类
4.11基本数据类型的类封装
4.11.1Double和Float类
4.11.2Byte、Short、Integer和Long类
4.11.3Character类
4.11.4自动装箱与拆箱
4.12反编译器和文件生成器
4.12.1使用反编译器
4.12.2使用文件生成器
4.13jar文件
4.13.1文档性质的jar文件
4.13.2可运行的jar文件
4.14var声明局部变量
习题4
第5章继承与接口
5.1子类与父类
5.2子类的继承性
5.2.1子类和父类在同一包中的继承性
5.2.2子类和父类不在同一包中的继承性
5.2.3protected的进一步说明
5.3子类对象的构造过程
5.4成员变量的隐藏和方法重写
5.4.1成员变量的隐藏
5.4.2方法重写
5.5super关键字
5.5.1使用super调用父类的构造方法
5.5.2使用super操作被隐藏的成员变量和方法
5.6final关键字
5.6.1final类
5.6.2final方法
5.6.3常量
5.7对象的上转型对象
5.8继承与多态
5.9abstract类和方法
5.9.1abstract类的特点与理解
5.9.2abstract类与多态
5.10接口
5.10.1接口的定义与使用
5.10.2接口回调
5.10.3理解接口
5.10.4接口与多态
5.10.5abstract类与接口的比较
5.11小结
习题5
第6章内部类、匿名类与Lambda表达式、异常类
6.1内部类
6.2匿名类
6.2.1和类有关的匿名类
6.2.2和接口有关的匿名类
6.3Lambda表达式
6.4异常类
6.4.1try…catch语句
6.4.2自定义异常类
6.4.3finally子语句
6.5Class类
6.5.1Java反射
6.5.2使用Class实例化一个对象
6.6断言语句
6.7小结
习题6
第7章面向对象设计的基本原则
7.1UML类图简介
7.1.1类的UML图
7.1.2表示接口的UML图
7.1.3泛化关系
7.1.4关联关系
7.1.5依赖关系
7.1.6实现关系
7.1.7注释
7.2面向抽象原则
7.2.1抽象类和接口
7.2.2面向抽象
7.3“开闭”原则
7.4“多用组合、少用继承”原则
7.4.1继承与复用
7.4.2组合与复用
7.4.3组合与继承
7.5“高内聚低耦合”原则
7.6小结
习题7
第8章设计模式
8.1设计模式简介
8.1.1什么是设计模式
8.1.2学习设计模式的必要性
8.1.3什么是框架
8.1.4模式的分类
8.2策略模式
8.2.1策略模式的结构
8.2.2策略模式的使用
8.2.3策略模式的优点
8.2.4适合使用策略模式的情景
8.2.5策略模式相对继承机制的优势
8.3访问者模式
8.3.1访问者模式的结构
8.3.2访问者模式的使用
8.3.3双重分派
8.3.4访问者模式的优点
8.3.5适合使用访问者模式的情景
8.4装饰模式
8.4.1装饰模式的结构
8.4.2装饰模式的使用
8.4.3使用多个装饰者
8.4.4装饰模式相对继承机制的优势
8.4.5装饰模式的优点
8.4.6适合使用装饰模式的情景
8.5适配器模式
8.5.1适配器模式的结构
8.5.2适配器模式的使用
8.5.3适配器的适配程度
8.5.4单接口适配器
8.6工厂方法模式
8.6.1工厂方法模式的结构
8.6.2工厂方法模式的使用
8.7责任链模式
8.7.1责任链模式的结构
8.7.2责任链模式的使用
8.7.3责任链模式的优点
8.7.4适合使用责任链模式的情景
8.8小结
习题8
第9章常用实用类
9.1String类
9.1.1构造String对象
9.1.2String 类的常用方法
9.1.3String对象与基本数据的相互转化
9.1.4对象的String表示
9.1.5字符序列与字符、字节数组
9.2正则表达式
9.2.1正则表达式与元字符
9.2.2常用的正则表达式
9.2.3字符序列的替换与分解
9.3StringTokenizer类
9.4Scanner类
9.5Pattern与Matcher类
9.6StringBuffer类
9.6.1StringBuffer对象的创建
9.6.2StringBuffer类的常用方法
9.7日期与时间
9.7.1java.time包
9.7.2日期、时间差和日历
9.7.3日期格式化
9.8Math、BigInteger和Random类
9.8.1Math类
9.8.2BigInteger类
9.8.3Random类
9.9小结
习题9
第10章Java Swing
10.1Java Swing概述
10.2窗口
10.2.1JFrame常用方法
10.2.2菜单条、菜单、菜单项
10.3常用组件、容器与布局
10.3.1常用组件
10.3.2常用容器
10.3.3常用布局
10.4处理事件
10.4.1事件处理模式
10.4.2ActionEvent事件
10.4.3ItemEvent事件
10.4.4DocumentEvent事件
10.4.5MouseEvent事件
10.4.6焦点事件
10.4.7键盘事件
10.4.8窗口事件
10.4.9匿名类、适配器或窗口做监视器
10.4.10事件的总结
10.5使用MVC结构
10.6树组件与表格组件
10.6.1树组件
10.6.2表格组件
10.7将按钮绑定到键盘
10.8使用中介者模式
10.9发布GUI程序
10.10小结
习题10
第11章对话框
11.1JDialog类
11.1.1JDialog类的主要方法
11.1.2对话框的模式
11.2文件对话框
11.3消息对话框
11.4输入对话框
11.5确认对话框
11.6颜色对话框
11.7小结
习题11
第12章输入流与输出流
12.1File类
12.1.1文件的属性
12.1.2目录
12.1.3文件的创建与删除
12.1.4运行可执行文件
12.2文件字节流
12.2.1文件字节输入流
12.2.2文件字节输出流
12.2.3关闭流
12.3文件字符流
12.4缓冲流
12.5使用文件对话框
12.6随机流
12.7数组流
12.8数据流
12.9带进度条的输入流
12.10对象流
12.1
— 没有更多了 —
以下为对购买帮助不大的评价