为你推荐
版 权
版权声明
内容提要
译者序
作者简介
前 言
资源与支持
第1章 新手起步
1.1 下载和安装JDK
1.1.1 在Windows上安装
1.1.2 在Linux上安装
1.1.3 在macOS上安装
1.1.4 设置系统环境变量
1.1.5 安装测试
1.1.6 下载Java API文档
1.2 第一个Java程序
1.2.1 编写Java程序
1.2.2 编译Java程序
1.2.3 执行Java程序
1.3 Java编码规范
1.4 集成开发环境
1.5 JShell
1.6 小结
习题
第2章 语言基础
2.1 ASCII和Unicode
2.2 分隔符
2.3 基本类型
2.4 变量
2.5 局部变量类型推断
2.6 常量
2.7 字面值
2.7.1 整数字面值
2.7.2 浮点字面值
2.7.3 布尔字面值
2.7.4 字符字面值
2.8 基本类型转换
2.8.1 加宽转换
2.8.2 缩窄转换
2.9 运算符
2.9.1 一元运算符
2.9.2 算术运算符
2.9.3 相等运算符
2.9.4 关系运算符
2.9.5 条件运算符
2.9.6 移位运算符
2.9.7 赋值运算符
2.9.8 整数按位运算符(& | ^)
2.9.9 逻辑运算符
2.9.10 运算符优先级
2.9.11 类型提升
2.10 注释
2.11 小结
习题
第3章 语句
3.1 概述
3.2 if语句
3.3 while语句
3.4 do-while语句
3.5 for语句
3.6 break语句
3.7 continue语句
3.8 switch语句
3.9 小结
习题
第4章 对象和类
4.1 什么是Java对象
4.2 Java类
4.2.1 字段
4.2.2 方法
4.2.3 main方法
4.2.4 构造方法
4.2.5 可变参数方法
4.2.6 UML类图中的类成员
4.3 创建对象
4.4 null关键字
4.5 为对象分配内存
4.6 Java包
4.7 封装与访问控制
4.7.1 类访问控制修饰符
4.7.2 类成员访问控制修饰符
4.8 this关键字
4.9 使用其他类
4.10 final变量
4.11 静态成员
4.12 静态final变量
4.13 静态导入
4.14 变量作用域
4.15 方法重载
4.16 静态工厂方法
4.17 按值还是按引用传递
4.18 加载、链接和初始化
4.18.1 加载
4.18.2 链接
4.18.3 初始化
4.19 对象创建初始化
4.20 垃圾回收器
4.21 创建对象的其他方法
4.22 小结
习题
第5章 核心类
5.1 java.lang.Object
5.2 java.lang.String
5.2.1 比较两个String对象
5.2.2 字符串字面值
5.2.3 字符转义
5.2.4 switch中的String
5.2.5 String类的构造方法
5.2.6 String类的方法
5.3 java.lang.StringBuffer和java.lang.StringBuilder
5.3.1 StringBuilder类的构造方法
5.3.2 StringBuilder类的方法
5.4 基本类型包装类
5.4.1 java.lang.Integer
5.4.2 java.lang.Boolean
5.4.3 java.lang.Character
5.5 java.lang.Class
5.6 java.lang.System
5.7 java.util.Scanner
5.8 小结
习题
第6章 数组
6.1 概述
6.2 迭代数组
6.3 java.util.Arrays类
6.4 修改数组大小
6.5 查找数组
6.6 将String数组传递给main
6.7 多维数组
6.8 小结
习题
第7章 继承
7.1 概述
7.1.1 extends关键字
7.1.2 is-a关系
7.2 可访问性
7.3 方法覆盖
7.4 调用超类的构造方法
7.5 调用超类的隐藏成员
7.6 类型转换
7.7 final类
7.8 instanceof运算符
7.9 小结
习题
第8章 错误处理
8.1 概述
8.2 捕获异常
8.3 不带catch的try
8.4 捕获多个异常
8.5 try-with-resources语句
8.6 java.lang.Exception类
8.7 从方法抛出异常
8.8 用户自定义异常
8.9 异常处理说明
8.10 小结
习题
第9章 处理数字
9.1 装箱与拆箱
9.2 数字解析
9.3 数字格式化
9.4 用java.text.NumberFormat解析数字
9.5 java.lang.Math类
9.6 使用货币值
9.7 生成随机数
9.8 小结
习题
第10章 接口和抽象类
10.1 接口的概念
10.2 从技术角度看接口
10.2.1 接口中的字段
10.2.2 抽象方法
10.2.3 扩展接口
10.3 接口中的实现
10.3.1 默认方法
10.3.2 静态方法
10.3.3 私有方法
10.4 基类
10.5 抽象类
10.6 抽象类说明
10.7 小结
习题
第11章 多态
11.1 概述
11.2 多态实战
11.3 多态与反射
11.4 小结
习题
第12章 枚举
12.1 概述
12.2 类中的枚举
12.3 java.lang.Enum类
12.4 迭代枚举值
12.5 在switch中使用枚举
12.6 枚举成员
12.7 小结
习题
第13章 处理日期和时间
13.1 概述
13.2 Instant类
13.3 LocalDate
13.4 Period
13.5 LocalDateTime
13.6 时区
13.7 ZonedDateTime
13.8 Duration
13.9 格式化日期-时间
13.10 解析日期-时间
13.11 旧的日期和时间API
13.11.1 java.util.Date类
13.11.2 java.util.Calendar类
13.11.3 用DateFormat进行解析和格式化
13.12 小结
习题
第14章 集合框架
14.1 集合框架概述
14.2 Collection接口
14.3 List和ArrayList
14.4 用Iterator和for迭代集合
14.5 Set和HashSet
14.6 Queue和LinkedList
14.7 集合转换
14.8 Map和HashMap
14.9 对象比较和排序
14.9.1 使用java.lang.Comparable
14.9.2 使用Comparator
14.10 小结
习题
第15章 泛型
15.1 没有泛型的时代
15.2 泛型类型
15.3 使用没有类型参数的泛型类型
15.4 使用“?”通配符
15.5 在方法中使用有界通配符
15.6 泛型方法
15.7 编写泛型类型
15.8 小结
习题
第16章 输入/输出
16.1 File类
16.1.1 File类的构造方法
16.1.2 File类的方法
16.2 文件系统和路径
16.3 文件和目录的处理及操作
16.3.1 创建和删除文件及目录
16.3.2 检索目录中的对象
16.3.3 复制和移动文件
16.3.4 读取和写入文件
16.4 输入流/输出流
16.5 读二进制数据
16.6 写入二进制数据
16.7 写入文本(字符)
16.7.1 Writer
16.7.2 OutputStreamWriter
16.7.3 PrintWriter
16.8 读取文本(字符)
16.8.1 Reader
16.8.2 InputStreamReader
16.8.3 BufferedReader
16.9 用PrintStream记录日志
16.10 随机访问文件
16.11 对象序列化
16.12 小结
习题
第17章 注解
17.1 概述
17.1.1 注解和注解类型
17.1.2 注解语法
17.1.3 Annotation接口
17.2 标准注解
17.2.1 Override
17.2.2 Deprecated
17.2.3 SuppressWarnings
17.3 一般注解
17.4 标准元注解
17.4.1 Documented
17.4.2 Inherited
17.4.3 Retention
17.4.4 Target
17.5 自定义注解类型
17.5.1 编写自定义注解类型
17.5.2 使用自定义注解类型
17.5.3 用反射查询注解
17.6 小结
习题
第18章 嵌套类和内部类
18.1 嵌套类的概述
18.2 静态嵌套类
18.3 成员内部类
18.4 局部内部类
18.5 匿名内部类
18.6 嵌套类和内部类的幕后
18.7 小结
习题
第19章 Lambda表达式
19.1 为何使用Lambda表达式
19.2 函数式接口
19.3 Lambda表达式语法
19.4 预定义函数式接口
19.4.1 Function、BiFunction及变体
19.4.2 Predicate
19.4.3 Supplier
19.4.4 Consumer
19.5 方法引用
19.5.1 引用静态方法
19.5.2 引用对象可用的实例方法
19.5.3 引用对象不可用的实例方法
19.5.4 引用构造方法
19.6 Optional与类似的类
19.7 小结
习题
第20章 使用Stream
20.1 概述
20.2 创建和获得流
20.3 连接流
20.4 过滤
20.5 映射
20.6 归约
20.7 可变归约
20.8 并行流
20.9 小结
习题
第21章 Java数据库连接
21.1 JDBC简介
21.2 数据访问的5个步骤
21.2.1 加载JDBC驱动程序
21.2.2 获得数据库连接
21.2.3 创建Statement对象
21.2.4 创建ResultSet对象
21.2.5 关闭JDBC对象
21.3 综合应用
21.4 使用DAO模式
21.5 读取元数据
SQLTool类
21.6 小结
习题
第22章 JavaFX入门
22.1 概述
22.2 第一个JavaFX程序
22.3 Application、Stage和Scene类
22.3.1 Application类
22.3.2 Stage类
22.3.3 Scene类
22.4 UI组件
22.5 控件
22.6 区域
22.7 事件驱动编程
22.7.1 Java事件模型
22.7.2 JavaFX事件
22.8 使用CSS样式
22.9 小结
习题
第23章 JavaFX与FXML
23.1 概述
23.2 一个基于FXML的简单应用
23.3 FXML的事件处理
23.4 小结
习题
第24章 Java线程
24.1 Java线程简介
24.2 创建线程
24.2.1 扩展Thread类
24.2.2 实现Runnable接口
24.3 使用多线程
24.4 线程优先级
24.5 停止线程
24.6 同步
24.6.1 线程干扰
24.6.2 块同步
24.7 可见性
24.8 join方法
24.9 线程协调
24.10 使用Timer
24.11 小结
习题
第25章 并发工具
25.1 原子变量
25.2 Executor和ExecutorService
25.3 命名线程
25.4 Callable和Future
25.5 JavaFX任务
25.6 锁
25.7 小结
习题
第26章 Java网络
26.1 网络概述
26.2 超文本传输协议(HTTP)
26.2.1 HTTP请求
26.2.2 HTTP响应
26.3 HttpClient API
26.4 java.net.Socket
26.5 java.net.ServerSocket
26.6 创建一个Web服务器
26.6.1 HttpServer类
26.6.2 Request类
26.6.3 Response类
26.6.4 运行应用程序
26.7 小结
习题
第27章 安全
27.1 Java安全概述
27.2 使用安全管理器
27.3 策略文件
27.3.1 keystore
27.3.2 grant
27.4 权限
27.4.1 java.io.FilePermission
27.4.2 java.security.BasicPermission
27.4.3 java.util.PropertyPermission
27.4.4 java.net.SocketPermission
27.4.5 java.security.UnresolvedPermission
27.4.6 java.security.RuntimePermission
27.4.7 java.net.NetPermission
27.4.8 java.lang.reflect.ReflectPermission
27.4.9 java.io.SerializablePermission
27.4.10 java.security.SecurityPermission
27.4.11 java.security.AllPermission
27.4.12 javax.security.auth.AuthPermission
27.5 安全编程
27.6 加密概述
27.6.1 加密/解密
27.6.2 身份验证
27.6.3 数据完整性
27.6.4 SSL的工作原理
27.7 创建证书
27.8 KeyTool程序
27.8.1 生成配对的密钥
27.8.2 进行认证
27.8.3 将证书导入密钥库
27.8.4 从密钥库导出证书
27.8.5 列出密钥库条目
27.9 JarSigner工具
27.9.1 签名jar文件
27.9.2 验证已签名的jar文件
27.10 Java加密API
27.11 小结
习题
第28章 Java Web应用程序
28.1 Servlet应用程序架构
28.2 Servlet API概述
java.servlet包
28.3 Servlet
28.4 编写基本的Servlet应用程序
28.4.1 安装Tomcat
28.4.2 编写和编译Servlet类
28.4.3 应用程序目录结构
28.4.4 访问Servlet
28.5 ServletRequest
28.6 ServletResponse
28.7 ServletConfig
28.8 ServletContext
28.9 GenericServlet
28.10 HTTP Servlet
28.10.1 HttpServlet
28.10.2 HttpServletRequest
28.10.3 HttpServletResponse
28.10.4 编写一个HTTP Servlet
28.11 使用部署描述符
28.12 小结
习题
第29章 JavaServer Pages
29.1 JSP概述
29.2 jspInit、jspDestroy及其他方法
29.3 隐含对象
29.4 JSP语法元素
29.4.1 指令
29.4.2 脚本元素
29.5 处理错误
29.6 小结
习题
第30章 模块
30.1 概述
30.2 Java标准模块
30.3 创建模块应用程序
30.4 创建自包含的应用程序包
30.5 创建安装程序
30.6 小结
习题
附录A javac
A.1 选项
A.1.1 标准选项
A.1.2 非标准选项
A.1.3 -J选项
A.2 命令行参数文件
附录B java
B.1 标准选项
B.2 非标准选项
附录C jar
C.1 语法
C.2 选项
C.3 示例
C.3.1 create
C.3.2 update
C.3.3 list
C.3.4 extract
C.3.5 index
C.4 设置应用程序入口点
附录D Eclipse
D.1 下载和安装
D.2 添加JRE
D.3 创建Java项目
D.4 创建一个类
D.5 运行类
D.6 添加类库
D.7 调试代码
D.8 常用快捷键
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜