4.4 用户推荐指数
科技
类型
8.0
豆瓣评分
可以朗读
语音朗读
444千字
字数
2020-06-01
发行日期
展开全部
主编推荐语
全面系统地介绍Java程序员必须掌握的核心基础知识。
内容简介
本书基于新版的Java 11编写,全面系统地介绍Java程序员必须掌握的核心基础知识,这些内容融合在三大主题中——Java语言基础、面向对象编程以及Java核心类。其中,Java语言基础包括数据类型和运算符、控制结构、数组、类和对象、异常处理、枚举和注解等;面向对象包括封装性、继承性、多态性、接口与抽象类、泛型与集合、多线程与并发编程等;Java核心类包括日期时间API、输入/输出、JavaFX图形界面、Lambda表达式和Stream的使用、数据库和网络编程。本书还介绍了安全性和Java Web编程基础的相关知识。 本书是为专业级Java程序员打造的理想教程,也可作为高等院校计算机相关专业“面向对象编程”和“Java语言程序设计”等课程的教学用书。
目录
- 版权信息
- 内容提要
- 译者序
- 作者简介
- 前言
- 资源与支持
- 第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 常用快捷键
展开全部
出版方
人民邮电出版社
人民邮电出版社是工业和信息化部主管的大型专业出版社,成立于1953年10月1日。人民邮电出版社坚持“立足信息产业、面向现代社会、传播科学知识、服务科教兴国”,致力于通信、计算机、电子技术、教材、少儿、经管、摄影、集邮、旅游、心理学等领域的专业图书出版。