
作者:陈振兴
页数:256
出版社:电子工业出版社
出版日期:2022
ISBN:9787121439391
电子书格式:pdf/epub/txt
内容简介
本书针对Java 开发领域的实际需求,参照OCA(Oracle Certified Associate)考核知识点和认证体系,详细讲解了Java 技术的基础知识。内容包含Java 语言概述与编程环境、Java 语言基础、类与对象、深入理解Java 语言面向对象(继承、重写、对象多态性、Object 类、抽象类、接口、内部类、Lambda 表达式)、异常处理、常用类与工具类、多线程、输入输出流、图形用户界面,以及数据库编程。全书逻辑性强,循序渐近且示例丰富,能够帮助初学者快速掌握Java 开发技能。本书的内容和组织基于高校教材的要求,既可作为高等院校本科、专科计算机相关专业的教材,也可作为基础的培训用书。
作者简介
陈振兴,云南财经大学教师,副教授,硕士生导师,主要研究方向为软件工程与信息系统,长期从事计算机教学和计算机软件开发工作,主持多项横向项目的软件开发工作,代表软件为高校教学管理系统、医院信息管理系统和电子病历系统;主要讲授课程:Java面向对象程序设计,系统分析与设计,数据库运用等课程。
本书特色
Java是一个面向互联网的开源的计算机程序设计语言,具有跨平台、面向对象、多线程的特点,经过20多年的发展,吸收了软件开发领域的最新成果,支持泛型编程、Lambda表达式、反射、注解等,广泛用于企业级Web应用开发和移动应用开发。对大多数学生来说,Java的学习周期长、学习难度大、学习效率低。
在众多的Java知识内容当中,合理选择知识体系和教学内容,实现课堂教学的有效、实效和高效,是Java课程教学面临的难题。本书针对Java开发领域的实际需求,参照OCA(Oracle Certified Associate)考核知识点和认证体系,详细讲解了Java技术的基础知识。全书逻辑性强,循序渐近且示例丰富,能够帮助初学者快速掌握Java开发技能。
目录
1.1 Java 语言的发展历史 ………………………………………………………………………………………. 1
1.2 Java 语言的特点 ……………………………………………………………………………………………… 2
1.3 Java 开发环境 …………………………………………………………………………………………………. 3
1.3.1 下载JDK ………………………………………………………………………………………………. 4
1.3.2 JDK 的安装与配置 ………………………………………………………………………………… 5
1.3.3 IntelliJ IDEA 编译环境的搭建 ………………………………………………………………… 7
1.3.4 Eclipse 编译环境的搭建 ………………………………………………………………………… 8
1.4 一个简单的Java 程序 ……………………………………………………………………………………… 9
1.5 编译和执行Java 程序 ……………………………………………………………………………………. 10
1.5.1 控制台方式 …………………………………………………………………………………………. 10
1.5.2 IDE 方式 …………………………………………………………………………………………….. 11
1.6 本章小结 ………………………………………………………………………………………………………. 11
1.7 习题 ……………………………………………………………………………………………………………… 12
第2 章 Java 语言基础 ………………………………………………………………………………………………. 13
2.1 Java 的基本语法 ……………………………………………………………………………………………. 13
2.1.1 Java 的基本语法格式 …………………………………………………………………………… 13
2.1.2 Java 中的注释 ……………………………………………………………………………………… 14
2.1.3 关键字 ………………………………………………………………………………………………… 15
2.1.4 标识符 ………………………………………………………………………………………………… 16
2.2 变量与常量 …………………………………………………………………………………………………… 17
2.2.1 变量概述 …………………………………………………………………………………………….. 17
2.2.2 变量的定义 …………………………………………………………………………………………. 17
2.2.3 常量 ……………………………………………………………………………………………………. 17
2.2.4 数据类型 …………………………………………………………………………………………….. 17
2.2.5 变量的作用域 ……………………………………………………………………………………… 22
2.2.6 变量的初始化 ……………………………………………………………………………………… 23
2.2.7 基本数据类型转换 ………………………………………………………………………………. 24
2.3 运算符、表达式与语句 …………………………………………………………………………………. 25
2.3.1 算术运算符与算术表达式 ……………………………………………………………………. 25
2.3.2 关系运算符与关系表达式 ……………………………………………………………………. 26
2.3.3 逻辑运算符与逻辑表达式 ……………………………………………………………………. 26
2.3.4 位运算符 …………………………………………………………………………………………….. 27
2.3.5 赋值运算符与赋值表达式 ……………………………………………………………………. 28
2.3.6 其他运算符 …………………………………………………………………………………………. 29
2.3.7 运算符的优先级与结合性 ……………………………………………………………………. 29
2.3.8 语句 ……………………………………………………………………………………………………. 30
2.4 程序流控制 …………………………………………………………………………………………………… 30
2.4.1 分支语句 …………………………………………………………………………………………….. 30
2.4.2 循环语句 …………………………………………………………………………………………….. 34
2.4.3 跳转语句 …………………………………………………………………………………………….. 36
2.5 数组 ……………………………………………………………………………………………………………… 38
2.5.1 声明数组 …………………………………………………………………………………………….. 39
2.5.2 给数组分配元素 ………………………………………………………………………………….. 39
2.5.3 数组元素的使用 ………………………………………………………………………………….. 40
2.5.4 数组的初始化 ……………………………………………………………………………………… 40
2.5.5 数组的引用 …………………………………………………………………………………………. 41
2.5.6 数组的遍历 …………………………………………………………………………………………. 41
2.5.7 数组的最值 …………………………………………………………………………………………. 42
2.5.8 数组排序 …………………………………………………………………………………………….. 42
2.6 Java Scanner 类 …………………………………………………………………………………………….. 43
2.7 本章小结 ………………………………………………………………………………………………………. 45
2.8 习题 ……………………………………………………………………………………………………………… 45
第3 章 类与对象 ……………………………………………………………………………………………………….. 49
3.1 类的定义 ………………………………………………………………………………………………………. 50
3.1.1 类的声明 …………………………………………………………………………………………….. 50
3.1.2 类的成员 …………………………………………………………………………………………….. 50
3.1.3 成员变量和局部变量 …………………………………………………………………………… 51
3.1.4 成员方法 …………………………………………………………………………………………….. 53
3.1.5 方法的重载 …………………………………………………………………………………………. 54
3.1.6 构造方法 …………………………………………………………………………………………….. 55
3.1.7 类成员和实例成员 ………………………………………………………………………………. 56
3.2 对象的创建与使用 ………………………………………………………………………………………… 56
3.2.1 创建对象 …………………………………………………………………………………………….. 56
3.2.2 使用对象 …………………………………………………………………………………………….. 59
3.2.3 对象的引用和实体 ………………………………………………………………………………. 60
3.2.4 垃圾回收 …………………………………………………………………………………………….. 61
3.3 访问控制符 …………………………………………………………………………………………………… 61
3.3.1 成员访问控制符 ………………………………………………………………………………….. 61
3.3.2 public 类与default 类 …………………………………………………………………………… 64
3.4 static 关键字的使用 ……………………………………………………………………………………….. 64
3.4.1 实例变量和类变量的区别 ……………………………………………………………………. 64
3.4.2 实例方法和类方法的区别 ……………………………………………………………………. 65
3.4.3 静态代码块 …………………………………………………………………………………………. 67
3.5 this 关键字的使用 …………………………………………………………………………………………. 67
3.6 包的使用 ………………………………………………………………………………………………………. 68
3.6.1 包的定义与使用 ………………………………………………………………………………….. 69
3.6.2 import 语句 …………………………………………………………………………………………. 71
3.6.3 静态导入 …………………………………………………………………………………………….. 71
3.7 本章小结 ………………………………………………………………………………………………………. 73
3.8 习题 ……………………………………………………………………………………………………………… 73
第4 章 深入理解Java 语言面向对象…………………………………………………………………………. 76
4.1 继承 ……………………………………………………………………………………………………………… 76
4.1.1 继承关系的引出 ………………………………………………………………………………….. 76
4.1.2 继承的限制 …………………………………………………………………………………………. 79
4.1.3 子类对象的实例化 ………………………………………………………………………………. 81
4.2 重写 ……………………………………………………………………………………………………………… 83
4.2.1 方法的重写 …………………………………………………………………………………………. 83
4.2.2 属性的覆盖 …………………………………………………………………………………………. 85
4.2.3 属性的应用 …………………………………………………………………………………………. 85
4.2.4 两组重要概念的比较 …………………………………………………………………………… 86
4.3 对象多态性 …………………………………………………………………………………………………… 88
4.3.1 多态的概述与对象的类型转换 …………………………………………………………….. 88
4.3.2 instanceof 关键字 …………………………………………………………………………………. 91
4.4 Object 类 ………………………………………………………………………………………………………. 92
4.4.1 基本概念 …………………………………………………………………………………………….. 92
4.4.2 对象信息:toString() ……………………………………………………………………………. 92
4.4.3 对象比较:equals() ……………………………………………………………………………… 93
4.5 抽象类 ………………………………………………………………………………………………………….. 94
4.5.1 抽象类的定义 ……………………………………………………………………………………… 95
4.5.2 抽象类实例化 ……………………………………………………………………………………… 96
4.6 接口 ……………………………………………………………………………………………………………… 97
4.6.1 接口的定义 …………………………………………………………………………………………. 97
4.6.2 接口的使用―制定标准 ……………………………………………………………………. 99
4.6.3 抽象类和接口的区别 …………………………………………………………………………. 100
4.7 内部类 ………………………………………………………………………………………………………… 100
4.7.1 内部类的定义 ……………………………………………………………………………………. 100
4.7.2 使用static 定义内部类 ……………………………………………………………………….. 101
4.7.3 在方法中定义内部类 …………………………………………………………………………. 102
4.7.4 匿名内部类 ……………………………………………………………………………………….. 103
4.8 Lambda 表达式 ……………………………………………………………………………………………. 104
4.8.1 表达式入门 ……………………………………………………………………………………….. 104
4.8.2 函数式接口 ……………………………………………………………………………………….. 106
4.9 本章小结 …………………………………………………………………………………………………….. 107
4.10 习题 ………………………………………………………………………………………………………….. 108
第5 章 异常处理 ……………………………………………………………………………………………………… 113
5.1 异常概述 …………………………………………………………………………………………………….. 113
5.1.1 什么是异常 ……………………………………………………………………………………….. 113
5.1.2 异常类的层次结构 …………………………………………………………………………….. 113
5.2 Java 异常的捕获和处理 ……………………………………………………………………………….. 115
5.2.1 try-catch 语句捕获异常 ………………………………………………………………………. 115
5.2.2 finally 语句 ………………………………………………………………………………………… 116
5.3 Java 异常的声明和抛出 ……………………………………………………………………………….. 118
5.3.1 throws 语句 ……………………………………………………………………………………….. 118
5.3.2 throw 语句 …………………………………………………………………………………………. 119
5.3.3 throw 和throws ………………………………………………………………………………….. 120
5.4 自定义异常类 ……………………………………………………………………………………………… 121
5.5 本章小结 …………………………………………………………………………………………………….. 122
5.6 习题 ……………………………………………………………………………………………………………. 122
第6 章 常用类与工具类 …………………………………………………………………………………………… 124
6.1 包装类 ………………………………………………………………………………………………………… 124
6.1.1 装箱与拆箱 ……………………………………………………………………………………….. 124
6.1.2 包装类常用方法 ………………………………………………………………………………… 125
6.1.3 包装类的应用 ……………………………………………………………………………………. 126
6.2 Math 类与Random 类 ………………………………………………………………………………….. 126
6.2.1 Math 类 ……………………………………………………………………………………………… 126
6.2.2 Random 类…………………………………………………………………………………………. 128
6.3 字符串类 …………………………………………………………………………………………………….. 129
6.3.1 字符串的不变性 ………………………………………………………………………………… 129
6.3.2 字符串的常用方法 …………………………………………………………………………….. 130
6.3.3 StringBuilder 类和StringBuffer 类……………………………………………………….. 132
6.3.4 StringJoiner 类 ……………………………………………………………………………………. 132
6.4 日期与时间类 ……………………………………………………………………………………………… 133
6.4.1 基本概念 …………………………………………………………………………………………… 133
6.4.2 Date 类 ……………………………………………………………………………………………… 133
6.4.3 Calendar 类 ………………………………………………………………………………………… 134
6.4.4 日期与时间格式化类 …………………………………………………………………………. 135
6.5 集合类 ………………………………………………………………………………………………………… 137
6.5.1 List 接口及其子类 ……………………………………………………………………………… 137
6.5.2 Set 接口 …………………………………………………………………………………………….. 141
6.5.3 Collections 类 …………………………………………………………………………………….. 142
6.5.4 Map 集合 …………………………………………………………………………………………… 143
6.6 泛型 ……………………………………………………………………………………………………………. 144
6.6.1 为什么要使用泛型 …………………………………………………………………………….. 144
6.6.2 泛型在集合中的应用 …………………………………………………………………………. 145
6.6.3 泛型接口 …………………………………………………………………………………………… 147
6.7 反射机制 …………………………………………………………………………………………………….. 148
6.7.1 反射概述 …………………………………………………………………………………………… 148
6.7.2 认识Class 类 …………………………………………………………………………………….. 148
6.7.3 通过反射机制查看类信息 ………………………………………………………………….. 150
6.8 本章小结 …………………………………………………………………………………………………….. 152
6.9 习题 ……………………………………………………………………………………………………………. 153
第7 章 多线程 …………………………………………………………………………………………………………. 158
7.1 线程简介 …………………………………………………………………………………………………….. 158
7.1.1 程序、进程、线程 …………………………………………………………………………….. 159
7.1.2 多线程的优势 ……………………………………………………………………………………. 159
7.2 创建线程 …………………………………………………………………………………………………….. 160
7.2.1 继承Thread 类 …………………………………………………………………………………… 160
7.2.2 实现Runnable 接口 ……………………………………………………………………………. 164
7.3 线程同步 …………………………………………………………………………………………………….. 166
7.3.1 线程安全问题 ……………………………………………………………………………………. 166
7.3.2 线程的同步 ……………………………………………………………………………………….. 167
7.4 本章小结 …………………………………………………………………………………………………….. 169
7.5 习题 ……………………………………………………………………………………………………………. 169
第8 章 输入输出流 ………………………………………………………………………………………………….. 170
8.1 输入输出流概述 ………………………………………………………………………………………….. 170
8.1.1 流的分类 …………………………………………………………………………………………… 171
8.1.2 输入输出流的套接 …………………………………………………………………………….. 171
8.2 文件类 ………………………………………………………………………………………………………… 172
8.3 字节流 ………………………………………………………………………………………………………… 175
8.3.1 标准流 ………………………………………………………………………………………………. 177
8.3.2 文件流 ………………………………………………………………………………………………. 178
8.3.3 字节过滤流 ……………………………………………………………………………………….. 180
8.3.4 对象序列化及对象流 …………………………………………………………………………. 183
8.4 字符流 ………………………………………………………………………………………………………… 185
8.4.1 文件字符流 ……………………………………………………………………………………….. 187
8.4.2 字符缓冲流 ……………………………………………………………………………………….. 188
8.4.3 字节字符转换流 ………………………………………………………………………………… 189
8.5 随机流 ………………………………………………………………………………………………………… 190
8.6 本章小结 …………………………………………………………………………………………………….. 191
8.7 习题 ……………………………………………………………………………………………………………. 192
第9 章 图形用户界面 ………………………………………………………………………………………………. 194
9.1 GUI 简介 …………………………………………………………………………………………………….. 194
9.1.1 JavaFX 与Swing、AWT …………………………………………………………………….. 194
9.1.2 JavaFX 开发环境配置 ………………………………………………………………………… 194
9.1.3 JavaFX 的基本框架 ……………………………………………………………………………. 196
9.2 常用的UI 组件 ……………………………………………………………………………………………. 198
9.2.1 TextField 和TextArea …………………………………………………………………………. 198
9.2.2 Label …………………………………………………………………………………………………. 198
9.2.3 按钮 ………………………………………………………………………………………………….. 199
9.3 布局面板 …………………………………………………………………………………………………….. 200
9.3.1 StackPane ………………………………………………………………………………………….. 200
9.3.2 FlowPane …………………………………………………………………………………………… 201
9.3.3 GridPane ……………………………………………………………………………………………. 201
9.3.4 BorderPane ………………………………………………………………………………………… 202
9.3.5 HBox 和VBox …………………………………………………………………………………… 202
9.4 形状类 ………………………………………………………………………………………………………… 203
9.4.1 Text 类 ………………………………………………………………………………………………. 203
9.4.2 Line 类 ………………………………………………………………………………………………. 203
9.4.3 Rectangle 类 ………………………………………………………………………………………. 203
9.4.4 Circle 类 ……………………………………………………………………………………………. 203
9.4.5 Ellipse 类 …………………………………………………………………………………………… 205
9.4.6 Arc 类 ……………………………………………………………………………………………….. 205
9.5 事件处理机制 ……………………………………………………………………………………………… 205
9.5.1 事件和事件源 ……………………………………………………………………………………. 205
9.5.2 事件处理器 ……………………………………………………………………………………….. 205
9.5.3 Lambda 表达式简化事件处理 …………………………………………………………….. 207
9.6 FXML 设计用户界面 …………………………………………………………………………………… 208
9.7 JavaFX 可视化布局工具 ………………………………………………………………………………. 210
9.7.1 JavaFX Scene Builder 的下载与安装 ……………………………………………………. 210
9.7.2 JavaFX Scene Builder 的使用 ……………………………………………………………… 211
9.8 本章小结 …………………………………………………………………………………………………….. 216
9.9 习题 ……………………………………………………………………………………………………………. 216
第10 章 数据库编程 ………………………………………………………………………………………………… 217
10.1 数据库概述 ……………………………………………………………………………………………….. 217
10.1.1 数据库和数据库系统概述 ………………………………………………………………… 217
10.1.2 关系型数据库 ………………………………………………………………………………….. 219
10.2 SQL 语言基础 …………………………………………………………………………………………… 220
10.3 MySQL 数据库简介 …………………………………………………………………………………… 222
10.3.1 MySQL 安装与配置 …………………………………………………………………………. 222
10.3.2 MySQL 建库建表及相关操作 …………………………………………………………… 222
10.4 Java 数据库编程 ………………………………………………………………………………………… 223
10.4.1 JDBC 简介 ………………………………………………………………………………………. 223
10.4.2 JDBC 常用API ………………………………………………………………………………… 224
10.4.3 JDBC 编程 ………………………………………………………………………………………. 224
10.5 数据库应用综合实例 …………………………………………………………………………………. 229
10.5.1 数据模型设计 ………………………………………………………………………………….. 229
10.5.2 数据类设计 ……………………………………………………………………………………… 230
10.5.3 实现CRUD ……………………………………………………………………………………… 231
10.5.4 界面设计 …………………………………………………………………………………………. 234
10.6 本章小结 …………………………………………………………………………………………………… 242
10.7 习题 ………………………………………………………………………………………………………….. 242















