书籍详情
Java编程指南:语法基础、面向对象、函数式编程与项目实战
作者:关东升 著
出版社:清华大学出版社
出版时间:2019-07-01
ISBN:9787302526834
定价:¥79.00
购买这本书可以去
内容简介
本书是一部系统论述Java编程语言的教程,主要内容包括绪论、开发环境搭建、d一个Java程序、Java语法基础、数据类型、运算符、控制语句、数组、字符串、面向对象基础、对象、继承与多态、抽象类与接口、Java常用类、内部类、Lambda表达式、异常处理、集合、泛型、文件管理与I/O流、多线程编程、网络编程、Swing图形用户界面编程、数据库编程。本书最后给出了一个实战项目——开发PetStore宠物商店项目。每一章后面都安排若干道同步练习题,并在附录C中提供了参考答案。 本书可作为高等学校计算机软件技术课程的教材,也可作为社会培训机构的培训教材,还可作为广大Java初学者和Java开发的程序员的参考书。
作者简介
关东升:一个在IT领域摸爬滚打20多年的老程序员、培训师、作者。精通多种IT技术。参与设计和开发北京市公交一卡通大型项目,开发国家农产品追溯系统、金融系统微博等移动客户端项目,并在App Store发布多款游戏和应用软件。 近期为中国移动、中国联通、南方航空、中石油、工商银行、平安银行和天津港务局等企事业单位授课。著有《iOS开发指南》《从零开始学Swift》《Android网络游戏开发实战》《Cocos2d-x实战》系列和《JSP网络程序设计》等40多本计算机书籍。
目录
目录
第1章绪论
1.1Java语言的发展历史
1.2Java语言的特点
1.3Java平台
1.3.1Java SE
1.3.2Java EE
1.3.3Java ME
1.4Java虚拟机
1.5同步练习
第2章开发环境搭建
2.1JDK工具包
2.1.1JDK下载和安装
2.1.2设置环境变量
2.2Eclipse开发工具
2.2.1Eclipse下载和安装
2.2.2安装中文语言包
2.2.3Eclipse界面
2.2.4Windows系统中常用快捷键
2.3其他开发工具
2.3.1IntelliJ IDEA
2.3.2NetBeans IDE
2.3.3文本编辑工具
2.4同步练习
第3章个Java程序
3.1使用Eclipse实现
3.1.1创建项目
3.1.2创建类
3.1.3运行程序
3.2文本编辑工具 JDK实现
3.2.1编写源代码文件
3.2.2编译程序
3.2.3运行程序
3.3代码解释
3.4同步练习
第4章Java语法基础
4.1标识符、关键字和保留字
4.1.1标识符
4.1.2关键字
4.1.3保留字
4.2Java分隔符
4.3变量
4.4常量
4.5同步练习
第5章数据类型
5.1基本数据类型
5.2整型类型
5.3浮点类型
5.4数值表示方式
5.4.1进制数值表示
5.4.2指数表示
5.5字符类型
5.6布尔类型
5.7数值类型相互转换
5.7.1自动类型转换
5.7.2强制类型转换
5.8引用数据类型
5.9同步练习
第6章运算符
6.1算术运算符
6.1.1一元运算符
6.1.2二元运算符
6.1.3算术赋值运算符
6.2关系运算符
6.3逻辑运算符
6.4位运算符
6.5其他运算符
6.6运算符优先级
6.7同步练习
第7章控制语句
7.1分支语句
7.1.1if语句
7.1.2switch语句
7.2循环语句
7.2.1while语句
7.2.2dowhile语句
7.2.3for语句
7.2.4增强for循环语句
7.3跳转语句
7.3.1break语句
7.3.2continue语句
7.4同步练习
第8章数组
8.1一维数组
8.1.1数组声明
8.1.2数组初始化
8.1.3案例: 数组合并
8.2多维数组
8.2.1二维数组声明
8.2.2二维数组的初始化
8.2.3不规则数组
8.3同步练习
第9章字符串
9.1Java中的字符串
9.2使用API文档
9.3不可变字符串
9.3.1String
9.3.2字符串池
9.3.3字符串拼接
9.3.4字符串查找
9.3.5字符串比较
9.3.6字符串截取
9.4可变字符串
9.4.1StringBuffer和StringBuilder
9.4.2字符串追加
9.4.3字符串插入、删除和替换
9.5同步练习
第10章面向对象基础
10.1面向对象简介
10.2面向对象的三个基本特性
10.3类
10.3.1类声明
10.3.2成员变量
10.3.3成员方法
10.4包
10.4.1包作用
10.4.2包定义
10.4.3包引入
10.4.4常用包
10.5方法重载
10.6封装性与访问控制
10.6.1私有级别
10.6.2默认级别
10.6.3保护级别
10.6.4公有级别
10.7静态变量和静态方法
10.8静态代码块
10.9同步练习
第11章对象
11.1创建对象
11.2空对象
11.3构造方法
11.3.1默认构造方法
11.3.2构造方法重载
11.3.3构造方法封装
11.4this关键字
11.5销毁对象
11.6同步练习
第12章继承与多态
12.1Java中的继承
12.2调用父类构造方法
12.3成员变量隐藏和方法覆盖
12.3.1成员变量隐藏
12.3.2方法覆盖
12.4多态
12.4.1多态概念
12.4.2引用类型检查
12.4.3引用类型转换
12.5再谈final关键字
12.5.1final修饰变量
12.5.2final修饰类
12.5.3final修饰方法
12.6同步练习
第13章抽象类与接口
13.1抽象类
13.1.1抽象类的概念
13.1.2抽象类声明和实现
13.2接口
13.2.1接口概念
13.2.2接口声明和实现
13.2.3接口与多继承
13.2.4接口继承
13.2.5Java 8新特性默认方法和静态方法
13.3抽象类与接口的区别
13.4同步练习
第14章Java常用类
14.1Java根类——Object
14.1.1toString()方法
14.1.2对象比较方法
14.2包装类
14.2.1数值包装类
14.2.2Character类
14.2.3Boolean类
14.2.4自动装箱/拆箱
14.3Math类
14.4大数值
14.4.1BigInteger
14.4.2BigDecimal
14.5日期时间相关类
14.5.1Date类
14.5.2日期格式化和解析
14.5.3Calendar类
14.6Java 8新日期时间相关类
14.6.1时间和日期
14.6.2日期格式化和解析
14.7同步练习
第15章内部类
15.1内部类简介
15.1.1内部类的作用
15.1.2内部类的分类
15.2成员内部类
15.2.1实例成员内部类
15.2.2静态成员内部类
15.3局部内部类
15.4匿名内部类
15.5同步练习
第16章Lambda表达式
16.1Lambda表达式简介
16.1.1从一个示例开始
16.1.2Lambda表达式实现
18.1.3函数式接口
16.2Lambda表达式的简化形式
16.2.1省略参数类型
16.2.2省略参数小括号
16.2.3省略return和大括号
16.3作为参数使用Lambda表达式
16.4访问变量
16.4.1访问成员变量
16.4.2捕获局部变量
16.5方法引用
16.6同步练习
第17章异常处理
17.1从一个问题开始
17.2异常类继承层次
17.2.1Throwable类
17.2.2Error和Exception
17.2.3受检查异常和运行时异常
17.3捕获异常
17.3.1trycatch语句
17.3.2多catch代码块
17.3.3trycatch语句嵌套
17.3.4多重捕获
17.4释放资源
17.4.1finally代码块
17.4.2自动资源管理
17.5throws与声明方法抛出异常
17.6自定义异常类
17.7throw与显式抛出异常
17.8同步练习
第18章集合
18.1集合简介
18.2List集合
18.2.1常用方法
18.2.2遍历集合
18.3Set集合
18.3.1常用方法
18.3.2遍历集合
18.4Map集合
18.4.1常用方法
18.4.2遍历集合
18.5同步练习
第19章泛型
19.1一个问题的思考
19.2使用泛型
19.3自定义泛型类
19.4自定义泛型接口
19.5泛型方法
19.6同步练习
第20章文件管理与I/O流
20.1文件管理
20.1.1File类
20.1.2案例: 文件过滤
20.2I/O流简介
20.2.1Java流设计理念
20.2.2流类继承层次
20.3字节流
20.3.1InputStream抽象类
20.3.2OutputStream抽象类
20.3.3案例: 文件复制
20.3.4使用字节缓冲流
20.4字符流
20.4.1Reader抽象类
20.4.2Writer抽象类
20.4.3案例: 文件复制
20.4.4使用字符缓冲流
20.4.5字节流转换字符流
20.5同步练习
第21章多线程编程
21.1基础知识
21.1.1进程
21.1.2线程
21.1.3主线程
21.2创建子线程
21.2.1实现Runnable接口
21.2.2继承Thread线程类
21.2.3使用匿名内部类和Lambda表达式实现线程体
21.3线程状态
21.4线程管理
21.4.1线程优先级
21.4.2等待线程结束
21.4.3线程让步
21.4.4线程停止
21.5线程安全
21.5.1临界资源问题
21.5.2多线程同步
21.6线程间通信
21.7同步练习
第22章网络编程
22.1网络基础
22.1.1网络结构
22.1.2 TCP/IP协议
22.1.3IP地址
22.1.4端口
22.2TCP Socket低层次网络编程
22.2.1TCP Socket通信简介
22.2.2TCP Socket通信过程
22.2.3Socket类
22.2.4ServerSocket类
22.2.5案例: 文件上传工具
22.2.6案例: 聊天工具
22.3UDP Socket低层次网络编程
22.3.1DatagramSocket类
22.3.2DatagramPacket类
22.3.3案例: 文件上传工具
22.3.4案例: 聊天工具
22.4访问互联网资源
22.4.1URL概念
22.4.2HTTP/HTTPS协议
22.4.3使用URL类
22.4.4案例: Downloader
22.5同步练习
第23章Swing图形用户界面编程
23.1Java图形用户界面技术
23.2Swing技术基础
23.2.1Swing类层次结构
23.2.2Swing程序结构
23.3事件处理模型
23.3.1采用内部类处理事件
23.3.2采用Lambda表达式处理事件
23.3.3使用适配器
23.4布局管理
23.4.1FlowLayout布局
23.4.2BorderLayout布局
23.4.3GridLayout布局
23.4.4不使用布局管理器
23.4.5使用可视化设计工具
23.5Swing组件
23.5.1标签和按钮
23.5.2文本输入组件
23.5.3复选框和单选按钮
23.5.4下拉列表
23.5.5列表
23.5.6分隔面板
23.5.7表格
23.6案例: 图书库存
23.7同步练习
附录A数据库编程
A.1数据持久技术简介
A.2MySQL数据库管理系统
A.2.1数据库的安装与配置
A.2.2连接MySQL服务器
A.2.3常见的管理命令
A.3JDBC技术
A.3.1JDBC API
A.3.2加载驱动程序
A.3.3建立数据连接
A.3.43个重要接口
A.4案例: 数据CRUD操作
A.4.1数据库编程的一般过程
A.4.2数据查询操作
A.4.3数据修改操作
附录B项目实战: 开发PetStore宠物商店项目
B.1系统分析与设计
B.1.1项目简介
B.1.2需求分析
B.1.3原型设计
B.1.4数据库设计
B.1.5架构设计
B.1.6系统设计
B.2任务1: 创建数据库
B.2.1迭代1.1: 安装和配置MySQL数据库
B.2.2迭代1.2: 编写数据库DDL脚本
B.2.3迭代1.3: 插入初始数据到数据库
B.3任务2: 初始化项目
B.3.1任务2.1: 配置项目构建路径
B.3.2任务2.2: 添加资源图片
B.3.3任务2.3: 添加包
B.4任务3: 编写数据持久层代码
B.4.1任务3.1: 编写实体类
B.4.2迭代3.2: 编写DAO类
B.4.3迭代3.3: 数据库帮助类DBHelper
B.5任务4: 编写表示层代码
B.5.1迭代4.1: 编写启动类
B.5.2迭代4.2: 编写自定义窗口类——MyFrame
B.5.3迭代4.3: 用户登录窗口
B.5.4迭代4.4: 商品列表窗口
B.5.5迭代4.5: 商品购物车窗口
B.6任务5: 应用程序打包发布
B.6.1迭代5.1: 处理TODO、FIXME和XXX任务
B.6.2迭代5.2: 处理警告
B.6.3迭代5.3: 打包
附录C同步练习参考答案
第1章绪论
1.1Java语言的发展历史
1.2Java语言的特点
1.3Java平台
1.3.1Java SE
1.3.2Java EE
1.3.3Java ME
1.4Java虚拟机
1.5同步练习
第2章开发环境搭建
2.1JDK工具包
2.1.1JDK下载和安装
2.1.2设置环境变量
2.2Eclipse开发工具
2.2.1Eclipse下载和安装
2.2.2安装中文语言包
2.2.3Eclipse界面
2.2.4Windows系统中常用快捷键
2.3其他开发工具
2.3.1IntelliJ IDEA
2.3.2NetBeans IDE
2.3.3文本编辑工具
2.4同步练习
第3章个Java程序
3.1使用Eclipse实现
3.1.1创建项目
3.1.2创建类
3.1.3运行程序
3.2文本编辑工具 JDK实现
3.2.1编写源代码文件
3.2.2编译程序
3.2.3运行程序
3.3代码解释
3.4同步练习
第4章Java语法基础
4.1标识符、关键字和保留字
4.1.1标识符
4.1.2关键字
4.1.3保留字
4.2Java分隔符
4.3变量
4.4常量
4.5同步练习
第5章数据类型
5.1基本数据类型
5.2整型类型
5.3浮点类型
5.4数值表示方式
5.4.1进制数值表示
5.4.2指数表示
5.5字符类型
5.6布尔类型
5.7数值类型相互转换
5.7.1自动类型转换
5.7.2强制类型转换
5.8引用数据类型
5.9同步练习
第6章运算符
6.1算术运算符
6.1.1一元运算符
6.1.2二元运算符
6.1.3算术赋值运算符
6.2关系运算符
6.3逻辑运算符
6.4位运算符
6.5其他运算符
6.6运算符优先级
6.7同步练习
第7章控制语句
7.1分支语句
7.1.1if语句
7.1.2switch语句
7.2循环语句
7.2.1while语句
7.2.2dowhile语句
7.2.3for语句
7.2.4增强for循环语句
7.3跳转语句
7.3.1break语句
7.3.2continue语句
7.4同步练习
第8章数组
8.1一维数组
8.1.1数组声明
8.1.2数组初始化
8.1.3案例: 数组合并
8.2多维数组
8.2.1二维数组声明
8.2.2二维数组的初始化
8.2.3不规则数组
8.3同步练习
第9章字符串
9.1Java中的字符串
9.2使用API文档
9.3不可变字符串
9.3.1String
9.3.2字符串池
9.3.3字符串拼接
9.3.4字符串查找
9.3.5字符串比较
9.3.6字符串截取
9.4可变字符串
9.4.1StringBuffer和StringBuilder
9.4.2字符串追加
9.4.3字符串插入、删除和替换
9.5同步练习
第10章面向对象基础
10.1面向对象简介
10.2面向对象的三个基本特性
10.3类
10.3.1类声明
10.3.2成员变量
10.3.3成员方法
10.4包
10.4.1包作用
10.4.2包定义
10.4.3包引入
10.4.4常用包
10.5方法重载
10.6封装性与访问控制
10.6.1私有级别
10.6.2默认级别
10.6.3保护级别
10.6.4公有级别
10.7静态变量和静态方法
10.8静态代码块
10.9同步练习
第11章对象
11.1创建对象
11.2空对象
11.3构造方法
11.3.1默认构造方法
11.3.2构造方法重载
11.3.3构造方法封装
11.4this关键字
11.5销毁对象
11.6同步练习
第12章继承与多态
12.1Java中的继承
12.2调用父类构造方法
12.3成员变量隐藏和方法覆盖
12.3.1成员变量隐藏
12.3.2方法覆盖
12.4多态
12.4.1多态概念
12.4.2引用类型检查
12.4.3引用类型转换
12.5再谈final关键字
12.5.1final修饰变量
12.5.2final修饰类
12.5.3final修饰方法
12.6同步练习
第13章抽象类与接口
13.1抽象类
13.1.1抽象类的概念
13.1.2抽象类声明和实现
13.2接口
13.2.1接口概念
13.2.2接口声明和实现
13.2.3接口与多继承
13.2.4接口继承
13.2.5Java 8新特性默认方法和静态方法
13.3抽象类与接口的区别
13.4同步练习
第14章Java常用类
14.1Java根类——Object
14.1.1toString()方法
14.1.2对象比较方法
14.2包装类
14.2.1数值包装类
14.2.2Character类
14.2.3Boolean类
14.2.4自动装箱/拆箱
14.3Math类
14.4大数值
14.4.1BigInteger
14.4.2BigDecimal
14.5日期时间相关类
14.5.1Date类
14.5.2日期格式化和解析
14.5.3Calendar类
14.6Java 8新日期时间相关类
14.6.1时间和日期
14.6.2日期格式化和解析
14.7同步练习
第15章内部类
15.1内部类简介
15.1.1内部类的作用
15.1.2内部类的分类
15.2成员内部类
15.2.1实例成员内部类
15.2.2静态成员内部类
15.3局部内部类
15.4匿名内部类
15.5同步练习
第16章Lambda表达式
16.1Lambda表达式简介
16.1.1从一个示例开始
16.1.2Lambda表达式实现
18.1.3函数式接口
16.2Lambda表达式的简化形式
16.2.1省略参数类型
16.2.2省略参数小括号
16.2.3省略return和大括号
16.3作为参数使用Lambda表达式
16.4访问变量
16.4.1访问成员变量
16.4.2捕获局部变量
16.5方法引用
16.6同步练习
第17章异常处理
17.1从一个问题开始
17.2异常类继承层次
17.2.1Throwable类
17.2.2Error和Exception
17.2.3受检查异常和运行时异常
17.3捕获异常
17.3.1trycatch语句
17.3.2多catch代码块
17.3.3trycatch语句嵌套
17.3.4多重捕获
17.4释放资源
17.4.1finally代码块
17.4.2自动资源管理
17.5throws与声明方法抛出异常
17.6自定义异常类
17.7throw与显式抛出异常
17.8同步练习
第18章集合
18.1集合简介
18.2List集合
18.2.1常用方法
18.2.2遍历集合
18.3Set集合
18.3.1常用方法
18.3.2遍历集合
18.4Map集合
18.4.1常用方法
18.4.2遍历集合
18.5同步练习
第19章泛型
19.1一个问题的思考
19.2使用泛型
19.3自定义泛型类
19.4自定义泛型接口
19.5泛型方法
19.6同步练习
第20章文件管理与I/O流
20.1文件管理
20.1.1File类
20.1.2案例: 文件过滤
20.2I/O流简介
20.2.1Java流设计理念
20.2.2流类继承层次
20.3字节流
20.3.1InputStream抽象类
20.3.2OutputStream抽象类
20.3.3案例: 文件复制
20.3.4使用字节缓冲流
20.4字符流
20.4.1Reader抽象类
20.4.2Writer抽象类
20.4.3案例: 文件复制
20.4.4使用字符缓冲流
20.4.5字节流转换字符流
20.5同步练习
第21章多线程编程
21.1基础知识
21.1.1进程
21.1.2线程
21.1.3主线程
21.2创建子线程
21.2.1实现Runnable接口
21.2.2继承Thread线程类
21.2.3使用匿名内部类和Lambda表达式实现线程体
21.3线程状态
21.4线程管理
21.4.1线程优先级
21.4.2等待线程结束
21.4.3线程让步
21.4.4线程停止
21.5线程安全
21.5.1临界资源问题
21.5.2多线程同步
21.6线程间通信
21.7同步练习
第22章网络编程
22.1网络基础
22.1.1网络结构
22.1.2 TCP/IP协议
22.1.3IP地址
22.1.4端口
22.2TCP Socket低层次网络编程
22.2.1TCP Socket通信简介
22.2.2TCP Socket通信过程
22.2.3Socket类
22.2.4ServerSocket类
22.2.5案例: 文件上传工具
22.2.6案例: 聊天工具
22.3UDP Socket低层次网络编程
22.3.1DatagramSocket类
22.3.2DatagramPacket类
22.3.3案例: 文件上传工具
22.3.4案例: 聊天工具
22.4访问互联网资源
22.4.1URL概念
22.4.2HTTP/HTTPS协议
22.4.3使用URL类
22.4.4案例: Downloader
22.5同步练习
第23章Swing图形用户界面编程
23.1Java图形用户界面技术
23.2Swing技术基础
23.2.1Swing类层次结构
23.2.2Swing程序结构
23.3事件处理模型
23.3.1采用内部类处理事件
23.3.2采用Lambda表达式处理事件
23.3.3使用适配器
23.4布局管理
23.4.1FlowLayout布局
23.4.2BorderLayout布局
23.4.3GridLayout布局
23.4.4不使用布局管理器
23.4.5使用可视化设计工具
23.5Swing组件
23.5.1标签和按钮
23.5.2文本输入组件
23.5.3复选框和单选按钮
23.5.4下拉列表
23.5.5列表
23.5.6分隔面板
23.5.7表格
23.6案例: 图书库存
23.7同步练习
附录A数据库编程
A.1数据持久技术简介
A.2MySQL数据库管理系统
A.2.1数据库的安装与配置
A.2.2连接MySQL服务器
A.2.3常见的管理命令
A.3JDBC技术
A.3.1JDBC API
A.3.2加载驱动程序
A.3.3建立数据连接
A.3.43个重要接口
A.4案例: 数据CRUD操作
A.4.1数据库编程的一般过程
A.4.2数据查询操作
A.4.3数据修改操作
附录B项目实战: 开发PetStore宠物商店项目
B.1系统分析与设计
B.1.1项目简介
B.1.2需求分析
B.1.3原型设计
B.1.4数据库设计
B.1.5架构设计
B.1.6系统设计
B.2任务1: 创建数据库
B.2.1迭代1.1: 安装和配置MySQL数据库
B.2.2迭代1.2: 编写数据库DDL脚本
B.2.3迭代1.3: 插入初始数据到数据库
B.3任务2: 初始化项目
B.3.1任务2.1: 配置项目构建路径
B.3.2任务2.2: 添加资源图片
B.3.3任务2.3: 添加包
B.4任务3: 编写数据持久层代码
B.4.1任务3.1: 编写实体类
B.4.2迭代3.2: 编写DAO类
B.4.3迭代3.3: 数据库帮助类DBHelper
B.5任务4: 编写表示层代码
B.5.1迭代4.1: 编写启动类
B.5.2迭代4.2: 编写自定义窗口类——MyFrame
B.5.3迭代4.3: 用户登录窗口
B.5.4迭代4.4: 商品列表窗口
B.5.5迭代4.5: 商品购物车窗口
B.6任务5: 应用程序打包发布
B.6.1迭代5.1: 处理TODO、FIXME和XXX任务
B.6.2迭代5.2: 处理警告
B.6.3迭代5.3: 打包
附录C同步练习参考答案
猜您喜欢