本书基于目前使用较为广泛的JDK11进行讲解。全书共13章。第1章为Java开发入门;第2~7章讲解Java编程的基础知识,包括Java编程基础、面向对象、异常、JavaAPI和集合等;第8~13章讲解Java编程的进阶知识,包括泛型、反射机制、I/O、JDBC、多线程、网络编程等内容。
本书通俗易懂,针对较难理解的问题,都是由浅入深地剖析案例,便于读者将所学知识融会贯通。
本书配套资源包括视频、源代码、题库、教学课件等。
本书可作为高等院校本、专科计算机相关专业的Java语言入门教材,也可作为自学编程人员的参考书。
本书是对《Java基础入门(第2版)》的更新。在修订过程中,对Java基础知识体系进行了更系统的规划和编排,对每个知识点进行了更深入的分析讲解,做到了由浅入深、由易到难。
本书具有以下亮点。
(1) 对Java基础知识体系进行了重新规划,使知识模块之间的衔接更紧密。例如,将异常、泛型的内容分别单列一章,布局更加合理。
(2) Java基础知识体系涵盖内容更广泛,对每个知识点的讲解更加丰富详实。例如,增加了反射的知识。
(3) 本书删除了过时且实用性不强的知识点,使本书内容更加精炼。例如,删除了 GUI的知识。
(4) 本书语言简洁精炼,通俗易懂,将难以理解的编程问题用简洁、清晰的语言描述,让读者更容易理解。对于难度较大的知识点,都配备了生动的图解,帮助读者更形象地理解有关知识。
(5) 本书选择的IntelliJ IDEA 作为开发工具,让读者接触新的开发工具,时刻跟紧技术前沿。
第1章 Java开发入门 1.1 Java概述 1.1.1 什么是Java 1.1.2 Java的特点 1.1.3 Java的发展史 1.2 JDK 的安装与使用 1.2.1 安装JDK 1.2.2 JDK 目录介绍 1.3 第一个Java程序 1.4 系统环境变量 1.4.1 PATH 环境变量 1.4.2 CLASSPATH 环境变量 1.5 Java程序的运行机制 1.6 IntelliJ IDEA 开发工具 1.6.1 IntelliJ IDEA 的安装与启动 1.6.2 使用IntelliJ IDEA 进行开发 1.6.3 IntelliJ IDEA 调试工具 1.7 本章小结 1.8 本章习题 第2章 Java编程基础 2.1 Java基本语法 2.1.1 Java程序的基本格式 2.1.2 Java中的注释 2.1.3 Java中的标识符 2.1.4 Java中的关键字 2.1.5 Java中的常量 2.2 Java中的变量 2.2.1 变量的定义 2.2.2 变量的数据类型 2.2.3 变量的类型转换 2.2.4 变量的作用域 2.3 Java中的运算符 2.3.1 算术运算符 2.3.2 赋值运算符 2.3.3 比较运算符 2.3.4 逻辑运算符 2.3.5 运算符的优先级 2.4 选择结构语句 2.4.1 if条件语句 2.4.2 三元运算符 2.4.3 switch条件语句 2.5 循环结构语句 2.5.1 while循环语句 2.5.2 dowhile循环语句 2.5.3 for循环语句 2.5.4 循环嵌套 2.5.5 跳转语句 2.6 方法 2.6.1 什么是方法 2.6.2 方法的重载 2.7 数组 2.7.1 数组的基本要素 2.7.2 数组的简单使用 2.7.3 数组的常见操作 2.7.4 二维数组 2.8 本章小结 2.9 本章习题 第3章 面向对象(上) 3.1 面向对象的思想 3.2 类与对象 3.2.1 类的定义 3.2.2 对象的创建与使用 3.2.3 对象的引用传递 3.2.4 访问控制权限 3.3 封装性 3.3.1 为什么要封装 3.3.2 如何实现封装 3.4 构造方法 3.4.1 定义构造方法 3.4.2 构造方法的重载 3.5 this关键字 3.5.1 使用this关键字调用本类中的属性 3.5.2 使用this关键字调用成员方法 3.5.3 使用this关键字调用构造方法 3.6 代码块 3.6.1 普通代码块 3.6.2 构造块 3.7 static关键字 3.7.1 静态属性 3.7.2 静态方法 3.7.3 静态代码块 3.8 本章小结 3.9 本章习题 第4章 面向对象(下) 4.1 继承 4.1.1 继承的概念 4.1.2 方法的重写 4.1.3 super关键字 4.2 final关键字 4.2.1 final关键字修饰类 4.2.2 final关键字修饰方法 4.2.3 final关键字修饰变量 4.3 抽象类和接口 4.3.1 抽象类 4.3.2 接口 4.4 多态 4.4.1 多态概述 4.4.2 对象类型的转换 4.4.3 instanceof关键字 4.5 Object类 4.6 内部类 4.6.1 成员内部类 4.6.2 局部内部类 4.6.3 静态内部类 4.6.4 匿名内部类 4.7 本章小结 4.8 本章习题 第5章 异常 5.1 什么是异常 5.2 运行时异常与编译时异常 5.3 异常处理及语法 5.3.1 异常的产生及处理 5.3.2 trycatch语句 5.3.3 finally语句 5.4 抛出异常 5.4.1 throws关键字 5.4.2 throw 关键字 5.5 自定义异常类 5.6 本章小结 5.7 本章习题 第6章 JavaAPI 6.1 字符串类 6.1.1 String类 6.1.2 String类的常用方法 6.1.3 StringBuffer类 6.2 System 类与 Runtime类 6.2.1 System 类 6.2.2 Runtime类 6.3 Math类与 Random 类 6.3.1 Math类 6.3.2 Random 类 6.4 BigInteger类与BigDecimal类 6.4.1 BigInteger类 6.4.2 BigDecimal类 6.5 日期和时间类 6.5.1 Date类 6.5.2 Calendar类 6.5.3 Instant类 6.5.4 LocalDate类 6.5.5 LocalTime类与LocalDateTime类 6.5.6 Duration类与Period类 6.6 日期与时间格式化类 6.6.1 DateFormat类 6.6.2 SimpleDateFormat类 6.7 数字格式化类 6.8 包装类 6.9 正则表达式 6.9.1 正则表达式语法 6.9.2 Pattern类与 Matcher类 6.9.3 String类对正则表达式的支持 6.10 本章小结 6.11 本章习题 第7章 集合 7.1 集合概述 7.2 Collection接口 7.3 List接口 7.3.1 List接口简介 7.3.2 ArrayList 7.3.3 LinkedList 7.4 集合遍历 7.4.1 Iterator接口 7.4.2 foreach循环 7.5 Set接口 7.5.1 Set接口简介 7.5.2 HashSet 7.5.3 LinkedHashSet 7.5.4 TreeSet 7.6 Map接口 7.6.1 Map接口简介 7.6.2 HashMap 7.6.3 LinkedHashMap 7.6.4 TreeMap 7.6.5 Properties 7.7 常用工具类 7.7.1 Collections工具类 7.7.2 Arrays工具类 7.8 Lambda表达式 7.9 本章小结 7.10 本章习题 第8章 泛型 8.1 泛型基础 8.1.1 泛型概述 8.1.2 使用泛型的好处 8.2 泛型类 8.3 泛型接口 8.4 泛型方法 8.4.1 泛型方法概述 8.4.2 泛型方法的应用 8.5 类型通配符 8.5.1 类型通配符概述 8.5.2 类型通配符的限定 8.6 本章小结 8.7 本章习题 第9章 反射机制 9.1 反射概述 9.2 认识 Class类 9.3 Class类的使用 9.3.1 通过无参构造方法实例化对象 9.3.2 通过有参构造方法实例化对象 9.4 通过反射获取类结构 9.4.1 获取类实现的全部接口 9.4.2 获取父类 9.4.3 获取全部构造方法 9.4.4 获取全部方法 9.4.5 获取全部属性 9.4.6 通过反射调用类中的方法 9.5 反射的应用 9.5.1 通过反射调用类中的getter/setter方法 9.5.2 通过反射操作属性 9.6 本章小结 9.7 本章习题 第10章 I/O 10.1 File类 10.1.1 创建 File对象 10.1.2 File类的常用方法 10.1.3 遍历目录下的文件 10.1.4 删除文件及目录 10.2 字节流 10.2.1 字节流的概念 10.2.2 字节流读文件 10.2.3 字节流写文件 10.2.4 文件的复制 10.3 字符流 10.3.1 字符流定义及基本用法 10.3.2 字符流读文件 10.3.3 字符流写文件 10.4 转换流 10.5 序列化和反序列化 10.6 本章小结 10.7 本章习题 第11章 JDBC 11.1 什么是JDBC 11.1.1 JDBC概述 11.1.2 JDBC驱动程序 11.2 JDBC的常用 API 11.3 JDBC编程 11.3.1 JDBC编程步骤 11.3.2 实现第一个JDBC程序 11.4 本章小结 11.5 本章习题 第12章 多线程 12.1 进程与线程 12.1.1 进程 12.1.2 线程 12.2 线程的创建 12.2.1 继承 Thread类创建多线程 12.2.2 实现 Runnable接口创建多线程 12.2.3 实现 Callable接口创建多线程 12.2.4 Thread类与 Runnable接口实现多线程的对比 12.2.5 后台线程 12.3 线程的生命周期及状态转换 12.4 线程操作的相关方法 12.4.1 线程的优先级 12.4.2 线程休眠 12.4.3 线程插队 12.4.4 线程让步 12.4.5 线程中断 12.5 线程同步 12.5.1 线程安全 12.5.2 同步代码块 12.5.3 同步方法 12.5.4 死锁问题 12.5.5 重入锁 12.6 本章小结 12.7 本章习题 第13章 网络编程 13.1 网络基础 13.1.1 网络通信协议 13.1.2 TCP与 UDP 13.1.3 IP地址和端口号 13.1.4 InetAddress类 13.1.5 URL编程 13.2 TCP通信 13.2.1 ServerSocket类 13.2.2 Socket类 13.2.3 简单的 TCP通信 13.2.4 多线程的 TCP网络程序 13.3 UDP通信 13.3.1 DatagramPacket类 13.3.2 DatagramSocket类 13.3.3 简单的 UDP通信 13.3.4 多线程的 UDP网络程序 13.4 本章小结 13.5 本章习题