本书是一本系统全面、实用性强的Java编程入门教材,旨在帮助初学者从零开始掌握Java语言的核心知识与编程技能。本书首先介绍了Java的历史、特点及开发环境的搭建,包括JDK的安装与配置、Eclipse等工具的使用;随后详细讲解Java的基本语法、变量与常量、运算符与控制结构,帮助读者快速入门。在面向对象编程部分,书中深入探讨了类与对象、封装、继承、多态、抽象类、接口以及内部类等核心概念,并结合常用类的实际应用,强化理论与实践的结合。本书还涵盖了Java的高级特性,包括数组与集合框架、异常处理机制、多线程编程、输入输出与文件管理、对象序列化等内容。最后,书中通过实际案例介绍了数据库编程(JDBC)、图形用户界面(Swing)设计以及网络编程(TCP/UDP通信),使读者能够将所学知识应用于实际开发中。全书配有大量代码示例、图表和流程图,每章还附有习题,帮助读者巩固知识并提升编程能力。
张亚楠,博士,副教授,哈尔滨理工大学计算机科学与技术学院,硕士生导师。主要研究方向为强化学习、自编程、参数自更新,主持工业和信息化部重点任务"2023 年工业机器人实时操作系统及集成开发环境项目(招标编号:2340STCZB1929)”子任务"工艺模型参数自学习及模型自更新方法研究”;主编和参与编写《ROS2源代码分析与工程应用》(清华大学出版社)等教材。
第1章 Java简介 1
1.1 Java的历史与特点 1
1.1.1 Java的历史 1
1.1.2 Java的特点 1
1.2 Java平台 3
1.2.1 Java平台的组成 3
1.2.2 Java平台的标准化规范 9
1.3 Java开发工具 15
1.3.1 集成开发环境 15
1.3.2 构建工具 16
1.3.3 代码版本控制工具 18
1.3.4 测试工具 18
1.4 JDK的安装与环境变量的配置 20
1.4.1 下载和安装JDK 20
1.4.2 配置环境变量 21
1.5 Eclipse开发工具 23
1.5.1 Eclipse的安装与启动 23
1.5.2 Eclipse开发程序示例 25
1.6 习题 27
第2章 Java的编程基础 28
2.1 Java的基本语法 28
2.1.1 Java的基本语法格式 28
2.1.2 Java中的注释 29
2.1.3 Java中的标识符 30
2.1.4 Java中的关键字 30
2.1.5 Java中的转义字符 32
2.2 Java的变量与常量 34
2.2.1 Java变量的定义 34
2.2.2 Java变量的数据类型 35
2.2.3 Java变量的类型转换 37
2.2.4 Java变量的类型 38
2.2.5 Java常量 40
2.2.6 引用数据类型 42
2.3 运算符与表达式 42
2.3.1 运算符 42
2.3.2 表达式 45
2.3.3 运算符的注意事项与优化 46
2.4 控制结构 48
2.4.1 条件控制结构 48
2.4.2 循环控制结构 54
2.4.3 跳转控制结构 59
2.4.4 高级控制结构 61
2.5 习题 62
第3章 面向对象编程 63
3.1 类与对象 63
3.1.1 类与对象的概念 63
3.1.2 定义类与创建对象 64
3.2 构造函数 67
3.2.1 构造函数的定义 67
3.2.2 构造函数的类型 69
3.2.3 构造函数的重载 71
3.2.4 this关键字 72
3.2.5 构造函数的最佳实践 73
3.2.6 实例初始化块 74
3.2.7 对象的构造过程 75
3.3 封装、继承与多态 76
3.3.1 封装 76
3.3.2 继承 84
3.3.3 多态 92
3.4 抽象类 95
3.4.1 抽象类的定义 95
3.4.2 抽象类的特性 96
3.4.3 抽象类的实现 96
3.4.4 抽象类的实例 98
3.5 接口 100
3.5.1 接口的基本概念 100
3.5.2 接口的实现与使用 100
3.5.3 接口的特性 101
3.5.4 接口与抽象类的区别 103
3.5.5 Compareable和Coloneable接口 105
3.6 内部类 109
3.6.1 内部类的定义 109
3.6.2 内部类的类型 110
3.6.3 内部类的生命周期和作用域 113
3.6.4 选择和使用内部类 115
3.7 Java中的常用类 116
3.7.1 Object类 116
3.7.2 String类与StringBuilder类 119
3.7.3 Scanner类 122
3.7.4 模式匹配 125
3.7.5 Date类 129
3.7.6 Calendar类 131
3.7.7 Math类 134
3.8 习题 137
第4章 数组与集合框架 141
4.1 数组 141
4.1.1 数组的基本概念 141
4.1.2 数组的创建与初始化 141
4.1.3 数组的基本操作 142
4.1.4 多维数组 150
4.2 集合框架 153
4.2.1 集合框架的主要接口与实现类 153
4.2.2 泛型与集合框架 154
4.3 List接口及其实现 155
4.3.1 List 接口的定义 155
4.3.2 List 接口的主要方法 156
4.3.3 List 接口的实现类 157
4.4 Set接口及其实现 163
4.4.1 Set 接口的定义 163
4.4.2 HashSet 类的实现 164
4.4.3 TreeSet 类的实现 166
4.4.4 HashSet 类和 TreeSet 类的对比 167
4.5 Map接口及其实现 168
4.5.1 Map 接口的定义 168
4.5.2 HashMap类 169
4.5.3 TreeMap类 171
4.5.4 HashMap 类和 TreeMap 类的对比 173
4.6 习题 174
第5章 异常处理 175
5.1 异常类与异常对象 175
5.1.1 异常类 175
5.1.2 异常对象 178
5.1.3 throw关键字和throws关键字 179
5.2 try-catch-finally 语句 181
5.2.1 语法结构 181
5.2.2 异常的传播 184
5.2.3 try-catch-finally 语句使用的注意事项 185
5.3 自定义异常 186
5.4 习题 188
第6章 多线程编程 189
6.1 线程 189
6.1.1 线程概述 189
6.1.2 创建线程 194
6.1.3 线程的生命周期 199
6.1.4 线程的应用场景 208
6.2 线程同步与通信 209
6.2.1 线程同步 209
6.2.2 线程通信 216
6.3 习题 221
第7章 输入/输出与文件管理 222
7.1 流 223
7.1.1 字节流 224
7.1.2 字符流 233
7.1.3 节点流和过滤流 242
7.2 文件的管理 244
7.2.1 File类 245
7.2.2 Files类 247
7.2.3 错误处理与异常捕获 250
7.3 对象序列化 252
7.4 习题 258
第8章 数据库编程 259
8.1 JDBC接口 259
8.1.1 JDBC的基本工作流程 260
8.1.2 JDBC的架构 261
8.2 连接数据库 263
8.2.1 加载数据库驱动 263
8.2.2 获取数据库连接 267
8.3 执行SQL语句 270
8.3.1 SQL语句概述 270
8.3.2 使用Statement执行SQL语句 271
8.4 处理结果集 280
8.4.1 ResultSet对象 280
8.4.2 遍历结果集 283
8.5 习题 285
第9章 图形用户界面 287
9.1 Swing简介 287
9.1.1 Swing基本概念 287
9.1.2 Swing与AWT的区别 290
9.2 创建窗口与面板 290
9.2.1 创建JFrame窗口 290
9.2.2 创建面板 293
9.2.3 嵌套面板 295
9.2.4 多面板的布局管理器组合 296
9.2.5 组件的常用属性 297
9.3 处理事件 300
9.3.1 事件的基本概念 300
9.3.2 事件监听器 301
9.3.3 事件对象 305
9.3.4 事件适配器 306
9.4 习题 307
第10章 网络编程 309
10.1 核心类与接口 309
10.1.1 java.net包 309
10.1.2 Socket类 310
10.1.3 ServerSocket类 312
10.1.4 DatagramSocket类 313
10.1.5 java.nio包 314
10.2 TCP网络通信编程 317
10.2.1 Java TCP通信基本概念 317
10.2.2 Socket类与ServerSocket类详解 319
10.2.3 TCP通信实例 320
10.3 UDP网络通信编程 323
10.3.1 Java UDP通信基本概念 323
10.3.2 DatagramSocket实现UDP Socket 325
10.3.3 UDP通信实例 326
10.4 习题 329