内容简介
内 容 简 介
Java语言是当前流行的程序设计语言之一,因其具有安全性、跨平台性、性能优异等特点,技术应用十分广泛。本书基于JDK 21版本,围绕Java基础知识与新特性展开,全书共12章,主要讲解Java语言基础、类与对象、继承与重用、接口与多态、内部类与匿名类、异常处理、集合框架、Java的I/O操作、多线程、Java网络编程、JavaFX GUI以及数据库编程,使读者能够完成基于C/S架构的桌面应用程序的开发。全书注重提高读者运用Java语言和面向对象思想解决实际问题的实践能力。
本书可作为普通高等院校应用型本科计算机相关专业面向对象程序设计课程或Java程序设计课程的入门教材,也可作为广大信息技术产业从业人员和编程爱好者的参考书。
目录介绍
第1章Java语言基础1
1.1Java语言概述1
1.1.1什么是Java1
1.1.2Java语言的特点2
1.1.3Java的发展历程3
1.2Java程序开发环境3
1.2.1JDK安装与使用3
1.2.2配置环境变量7
1.2.3第一个Java程序9
1.3Java编程基础11
1.3.1Java基本语法11
1.3.2Java数据类型15
1.3.3Java中的常量与变量16
1.3.4Java中的运算符19
1.3.5数据类型的转换24
1.4程序控制流程26
1.4.1顺序结构26
1.4.2选择结构26
1.4.3循环结构32
1.4.4跳转语句39
1.5方法41
1.5.1方法的定义41
1.5.2方法的调用42
1.5.3Java的可变参数43
1.5.4方法的重载44
1.6数组45
1.6.1数组的定义与使用46
1.6.2数组的常见应用48
1.6.3数组的Arrays工具类50
1.6.4二维数组51
第2章类与对象55
2.1面向对象的编程思想55
2.2类56
2.2.1类的定义56
2.2.2访问修饰符57
2.2.3类的封装58
2.3对象的创建与使用60
2.3.1对象的创建61
2.3.2对象操作成员61
2.3.3值传递与引用传递62
2.4构造方法63
2.4.1构造方法的定义63
2.4.2无参构造方法与对象的创建64
2.4.3有参构造方法与对象的创建64
2.4.4this关键字66
2.4.5构造方法的重载67
2.5static关键字68
2.5.1静态成员68
2.5.2静态方法69
2.5.3静态代码块70
2.6包71
2.6.1包的作用71
2.6.2包的定义71
2.6.3导入类72
2.7常用Java API73
2.7.1包装类73
2.7.2Scanner类75
2.7.3String类与StringBuffer类77
2.7.4Random类与Math类79
2.7.5日期时间类81
第3章继承与重用87
3.1继承87
3.2子类的继承性89
3.2.1同一包中的继承性89
3.2.2不同包中的继承性92
3.2.3继承类型94
3.3成员变量的隐藏和方法重写95
3.3.1成员变量的隐藏95
3.3.2方法重写96
3.4super关键字98
3.4.1调用父类的构造方法98
3.4.2调用被隐藏的成员变量和方法101
3.5继承阻止102
3.5.1final关键字102
3.5.2密封类104
3.6Object类105
3.6.1equals( )方法106
3.6.2hashCode( )方法108
3.6.3toString( )方法111
3.7继承与多态112
3.7.1静态绑定和动态绑定112
3.7.2向上转型113
3.7.3向下转型116
3.7.4instanceof运算符117
3.8模式匹配117
3.8.1switch 表达式的增强117
3.8.2模式匹配 instanceof118
3.9抽象类119
3.9.1抽象类和抽象方法119
3.9.2抽象类的构造方法121
3.9.3抽象类的作用122
第4章接口与多态124
4.1接口124
4.1.1接口的定义与实现124
4.1.2接口的继承128
4.1.3接口与抽象类的区别129
4.2接口与多态131
4.2.1接口多态132
4.2.2接口回调134
4.3面向接口编程136
4.3.1面向对象编程与面向接口编程的区别136
4.3.2面向接口编程的设计模式137
4.4函数式编程141
4.4.1函数式接口141
4.4.2Lambda表达式142
4.5注解144
4.6反射148
4.6.1Java反射API148
4.6.2使用Class实例化一个对象149
第5章内部类与匿名类152
5.1内部类的定义152
5.2内部类的种类153
5.2.1成员内部类153
5.2.2静态内部类156
5.2.3局部内部类159
5.2.4匿名内部类161
5.3用Lambda表达式代替匿名类接口164
第6章异常处理167
6.1异常类167
6.1.1Java的异常定义167
6.1.2Java的异常类继承体系168
6.1.3Java的异常处理机制169
6.2异常处理170
6.2.1trycatch语句170
6.2.2trycatchfinally语句172
6.2.3trycatchfinally程序块中的return174
6.2.4throws语句175
6.2.5throw语句176
6.3自定义异常类177
第7章集合框架181
7.1对象数组181
7.2Collection接口183
7.2.1SequencedCollection接口184
7.2.2List接口185
7.2.3Set接口189
7.2.4Collections类190
7.3Map接口194
7.4集合接口的of( )方法197
7.5Java中的泛型198
7.5.1泛型类199
7.5.2泛型接口201
7.5.3泛型方法202
7.6Stream API204
第8章Java的I/O操作208
8.1文件操作208
8.1.1File类208
8.1.2文件操作210
8.2流211
8.2.1流的概念211
8.2.2I/O流体系结构212
8.3面向字节的I/O操作213
8.3.1InputStream213
8.3.2OutputStream214
8.3.3使用字节流的Filter215
8.4面向字符的I/O操作217
8.4.1Reader218
8.4.2Writer218
8.4.3使用字符流的Filter218
8.5对象的序列化220
8.5.1序列化与反序列化220
8.5.2对序列化的控制223
8.6I/O资源的自动关闭224
8.6.1trywithresources 语法225
8.6.2trywithresources 声明的改进226
第9章多线程228
9.1多线程编程基础228
9.1.1单线程与多线程229
9.1.2线程的创建与启动229
9.1.3线程的生命周期236
9.1.4虚拟线程238
9.2线程的操作方法238
9.2.1线程休眠239
9.2.2线程的中断239
9.2.3线程的优先级240
9.2.4线程的联合240
9.3线程同步240
9.3.1同步程序块241
9.3.2同步方法242
9.3.3Lock锁243
9.4线程通信245
9.4.1wait( )、notify( )实现线程通信245
9.4.2Condition接口实现线程同步247
9.5线程池249
第10章Java网络编程252
10.1网络基础知识252
10.1.1网络中计算机的定位252
10.1.2TCP协议与UDP协议254
10.2使用URL访问网络资源254
10.2.1获得URL实例255
10.2.2用URL访问网络资源255
10.3在Java中使用Socket256
10.3.1一个简单的Socket连接257
10.3.2TCP网络编程259
10.3.3UDP网络编程265
第11章JavaFX GUI268
11.1GUI编程简介268
11.1.1Swing GUI268
11.1.2JavaFX276
11.2JavaFX程序基本结构278
11.2.1一个简单的JavaFX程序278
11.2.2JavaFX基本概念280
11.2.3构建JavaFX应用程序的基本步骤282
11.3JavaFX布局面板282
11.3.1BorderPane面板284
11.3.2FlowPane面板285
11.3.3GridPane面板286
11.3.4StackPane面板287
11.4JavaFX常用控件288
11.4.1Label类288
11.4.2TextField类289
11.4.3PasswordField类290
11.4.4Button类290
11.4.5TextArea类291
11.5事件处理293
11.5.1事件类293
11.5.2事件注册294
11.5.3事件处理器295
第12章数据库编程302
12.1JDBC简介302
12.2使用JDBC操作数据库304
12.2.1创建数据库连接304
12.2.2关闭数据库连接306
12.2.3查询数据306
12.2.4更新数据308
12.2.5预编译SQL312
12.3重用简化代码314
12.3.1一个桌面应用程序314
12.3.2数据库连接池317
附录IntelliJ IDEA开发工具使用介绍321
参考文献329