本书从初学者的角度出发,详细讲解了Java基础中的核心技术。全书共11章,包括Java开发环境的搭建及其运行机制、基本语法、面向对象的思想、常用API、集合、IO、GUI、JDBC、多线程和网络编程等内容。本书使用通俗易懂的语言对每个知识点进行阐述,并结合典型翔实的案例进行演示说明。本书是在《Java基础入门》的基础上进行改版升级,增加了某些重要知识的原理剖析,能够让读者知其然更知其所以然。同时,本书采用目前较为通用的JDK 8版本进行编写,引入了一些新的Lambda表达式、Stream聚合操作、NIO、JavaFX等知识点,能够让读者尽早掌握一线实用技术,为Java基础学习打下坚实基础。
本书附有配套视频、源代码、习题、教学PPT、教学设计等资源;另外,为了帮助初学者更好地学习本书讲解的内容,还提供了在线答疑服务,希望可以帮助更多的读者。
本书既可作为高等院校本、专科计算机相关专业的教材,也可作为社会培训教材,是一本适合初学者学习和参考的读物。
特色一:通俗易懂,适合新手入门
本书通篇使用通俗易懂的语言描述Java知识点,让学生能够更容易理解、明白教材知识点内容,降低了初学者的学习难度。
特色二:由浅入深,结构设计合理
教材从基本的概念、语法规范讲解,引出每一个知识点的作用和意义,接着进一步讲解知识点的使用和注意事项,逐层深入完成对所有Java基础知识点的串联讲解。
特色三:技术全面,知识点覆盖面广泛
本书作为Java基础入门教材,充分考虑了初学者的学习能力以及后续能力提升和扩展,结合实际开发需求,统计并编写了几乎所有的Java基础知识点。
特色四:原理剖析,理论与实践相结合
本书不仅提供了较多知识点案例,还充分考虑到学生对Java相关知识点底层原理的熟知,增加了较多原理剖析,能让学生更好的理解和掌握相关知识点。
特色五:技术新颖,符合企业实际需求
在编写本书时,充分考虑到了实际开发中用到的实用技术,让学生能够及时了解并掌握到热门的新技术,为学生后续就业达到了保驾护航的作用。
第1章 Java开发入门 1.1 Java概述 1.1.1 什么是Java 1.1.2 Java语言的特点 1.2 JDK的使用 1.2.1 什么是JDK 1.2.2 安装JDK 1.2.3 JDK目录介绍 1.3 系统环境变量 1.3.1 PATH环境变量 1.3.2 CLASSPATH环境变量 1.4 第一个Java程序 1.5 Java的运行机制 1.6 Eclipse开发工具 1.6.1 Eclipse概述 1.6.2 Eclipse的安装与启动 1.6.3 使用Eclipse进行程序开发 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.2 Java中的变量与常量 2.2.1 变量的定义 2.2.2 变量的数据类型 2.2.3 变量的类型转换 2.2.4 变量的作用域 2.2.5 Java中的常量 2.3 Java中的运算符 2.3.1 算术运算符 2.3.2 赋值运算符 2.3.3 比较运算符 2.3.4 逻辑运算符 2.3.5 位运算符 2.3.6 条件运算符 2.3.7 运算符的优先级 2.4 选择结构语句 2.4.1 if条件语句 2.4.2 switch条件语句 2.5 循环结构语句 2.5.1 while循环语句 2.5.2 do…while循环语句 2.5.3 for循环语句 2.5.4 循环嵌套 2.5.5 跳转语句(break、continue) 2.6 数组 2.6.1 数组的定义 2.6.2 数组的常见操作 2.6.3 多维数组 2.7 本章小结 2.8 习题 第3章 面向对象(上) 3.1 面向对象概述 3.2 Java中的类与对象 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 构造方法 3.5.1 构造方法的定义 3.5.2 构造方法的重载 3.6 this关键字 3.7 static关键字 3.7.1 静态变量 3.7.2 静态方法 3.7.3 静态代码块 3.8 本章小结 3.9 习题 第4章 第4章 面向对象(下) 4.1 类的继承 4.1.1 继承的概念 4.1.2 重写父类方法 4.1.3 super关键字 4.1.4 Object类 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.5 内部类 4.5.1 成员内部类 4.5.2 局部内部类 4.5.3 静态内部类 4.5.4 匿名内部类 4.6 JDK 8——Lambda表达式 4.6.1 Lambda表达式入门 4.6.2 函数式接口 4.6.3 方法引用与构造器引用 4.7 异常(Exception) 4.7.1 什么是异常 4.7.2 异常的类型 4.7.3 try…catch和finally 4.7.4 throws关键字 4.7.5 throw关键字 4.7.6 自定义异常 4.8 垃圾回收 4.9 本章小结 4.10 习题 第5章 Java中的常用类 5.1 String类与StringBuffer类 5.1.1 String类的初始化 5.1.2 String类的常见操作 5.1.3 StringBuffer类 5.2 System类与Runtime类 5.2.1 System类 5.2.2 Runtime类 5.3 Math类与Random类 5.3.1 Math类 5.3.2 Random类 5.4 包装类 5.5 日期与时间类 5.5.1 Date类 5.5.2 Calendar类 5.5.3 JDK 8——新增日期与时间类 5.6 格式化类 5.6.1 DateFormat类 5.6.2 SimpleDateFormat类 5.6.3 DateTimeFormatter类 5.7 本章小结 5.8 习题 第6章 集合 6.1 集合概述 6.2 Collection接口 6.3 List接口 6.3.1 List接口简介 6.3.2 ArrayList集合 6.3.3 LinkedList集合 6.4 Collection集合遍历 6.4.1 Iterator遍历集合 6.4.2 foreach遍历集合 6.4.3 JDK 8——forEach遍历集合 6.5 Set接口 6.5.1 Set接口简介 6.5.2 HashSet集合 6.5.3 TreeSet集合 6.6 Map接口 6.6.1 Map接口简介 6.6.2 HashMap集合 6.6.3 Map集合遍历 6.6.4 TreeMap集合 6.6.5 Properties集合 6.7 泛型 6.8 常用工具类 6.8.1 Collections工具类 6.8.2 Arrays工具类 6.9 JDK 8——聚合操作 6.9.1 聚合操作简介 6.9.2 创建Stream流对象 6.9.3 Stream流的常用方法 6.9.4 Parallel Stream(并行流) 6.10 本章小结 6.11 习题 第7章 I/O流 7.1 I/O流概述 7.2 字节流 7.2.1 字节流概述 7.2.2 字节流读写文件 7.2.3 文件的拷贝 7.2.4 字节流的缓冲区 7.2.5 字节缓冲流 7.3 字符流 7.3.1 字符流概述 7.3.2 字符流操作文件 7.3.3 转换流 7.4 File类 7.4.1 File类的常用方法 7.4.2 遍历目录下的文件 7.4.3 删除文件及目录 7.5 RandomAccessFile 7.6 对象序列化 7.7 NIO 7.7.1 NIO概述 7.7.2 Buffer(缓冲器) 7.7.3 Channel(通道) 7.8 NIO.2 7.8.1 Path接口 7.8.2 Files工具类 7.9 本章小结 7.10 习题 第8章 GUI(图形用户接口) 8.1 Swing概述 8.2 Swing顶级容器 8.2.1 JFrame 8.2.2 JDialog 8.3 布局管理器 8.3.1 BorderLayout 8.3.2 FlowLayout 8.3.3 GridLayout 8.4 事件处理 8.4.1 事件处理机制 8.4.2 Swing常用事件处理 8.5 Swing常用组件 8.5.1 面板组件 8.5.2 文本组件 8.5.3 标签组件 8.5.4 按钮组件 8.5.5 下拉框组件 8.5.6 菜单组件 8.6 Swing组件的整合使用—QQ登录 8.6.1 案例分析 8.6.2 案例实现 8.7 JavaFX图形用户界面工具 8.7.1 JavaFX概述 8.7.2 JavaFX开发环境配置 8.7.3 JavaFX基础入门 8.7.4 JavaFX可视化管理工具 8.8 本章小结 8.9 习题 第9章 JDBC 9.1 什么是JDBC 9.2 JDBC常用API 9.2.1 Driver接口 9.2.2 DriverManager类 9.2.3 Connection接口 9.2.4 Statement接口 9.2.5 PreparedStatement 接口 9.2.6 ResultSet接口 9.3 JDBC编程 9.3.1 JDBC的编程步骤 9.3.2 实现第一个JDBC程序 9.4 案例——使用JDBC实现QQ登录 9.5 本章小结 9.6 习题 第10章 多线程 10.1 线程概述 10.1.1 进程 10.1.2 线程 10.2 线程的创建 10.2.1 Thread类实现多线程 10.2.2 Runnable接口实现多线程 10.2.3 Callable接口实现多线程 10.2.4 三种实现多线程方式的对比分析 10.2.5 后台线程 10.3 线程的生命周期及状态转换 10.4 线程的调度 10.4.1 线程的优先级 10.4.2 线程休眠 10.4.3 线程让步 10.4.4 线程插队 10.5 多线程同步 10.5.1 线程安全 10.5.2 同步代码块 10.5.3 同步方法 10.5.4 同步锁 10.5.5 死锁问题 10.6 多线程通信 10.6.1 问题引出 10.6.2 问题如何解决 10.7 线程池 10.7.1 Executor接口实现线程池管理 10.7.2 CompletableFuture类实现线程池管理 10.8 本章小结 10.9 习题 第11章 网络编程 11.1 网络编程基础 11.1.1 网络通信协议 11.1.2 IP地址和端口号 11.1.3 InetAddress 11.1.4 UDP与TCP协议 11.2 UDP通信 11.2.1 UDP通信简介 11.2.2 DatagramPacket 11.2.3 DatagramSocket 11.2.4 UDP网络程序 11.2.5 UDP案例——聊天程序 11.3 TCP通信 11.3.1 TCP通信简介 11.3.2 ServerSocket 11.3.3 Socket 11.3.4 简单的TCP网络程序 11.3.5 多线程的TCP网络程序 11.3.6 TCP案例——文件上传 11.4 本章小结 11.5 习题