展开全部

主编推荐语

全面系统地介绍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 常用快捷键
展开全部

评分及书评

4.4
7个评分
  • 用户头像
    给这本书评了
    4.0
    值得一看

    一本比较朴实的书,基本上对于入门者而言,看完这本书就差不多了,基本的知识点都涉及到了。但也因为是太基础了,对于向 maven 之类的就没涉及到。总的而言,书的结构合理,内容易于理解,可作为入门参考书,值得好好学习

      转发
      评论
      用户头像
      给这本书评了
      4.0

      工作中碰到 Java 项目较多,用碎片时间重温了一遍 Java 基础,Java 的概念比较多,作者介绍的很详细,结合大量例子操作更有助于理解。这本书没有介绍开发框架方面的内容,推荐 Java 初学者作为入门读物。

        转发
        评论

      出版方

      人民邮电出版社

      人民邮电出版社是工业和信息化部主管的大型专业出版社,成立于1953年10月1日。人民邮电出版社坚持“立足信息产业、面向现代社会、传播科学知识、服务科教兴国”,致力于通信、计算机、电子技术、教材、少儿、经管、摄影、集邮、旅游、心理学等领域的专业图书出版。