图书目录

目录

第1章初识Java与面向对象程序设计/1

11Java概述/1

111计算机编程语言发展史/1

112Java语言发展史/2

113Java语言的特点/3

114Java跨平台原理/6

12面向对象程序设计思想/6

121面向过程程序设计/6

122面向对象程序设计/6

123面向对象与面向过程程序设计的比较/7

13Java开发环境搭建/7

131JDK与JRE/7

132JDK安装/8

133环境变量配置/9

14第一个Java程序: HelloWorld!/11

141显示文件扩展名/11

142编写代码/12

143编译与执行/12

144代码解析/12

145代码的注释 /13

15Java常用开发工具/14

151Eclipse的安装与使用/14

152IntelliJ IDEA的安装与使用/16

16本章思政元素融入点/19

17本章小结/23

18习题/23

第2章Java编程基础/24

21变量与常量/24

211关键字和保留字/24

212标识符与命名规范/24

213数据类型/25

214变量的定义与赋值/26

215常量/27

216变量的类型转换/27

217Scanner的使用/29

22运算符与表达式/29

221算术运算符/29

222赋值运算符/31

223关系运算符/31

224逻辑运算符/32

225位运算符/33

226三元运算符/34

227运算符的优先级/35

23选择结构/36

231if语句/36

232switch语句/37

233选择结构的嵌套/41

234两种选择结构的对比/42

24循环结构/42

241for语句/42

242while语句/43

243do…while语句/44

244break和continue语句/45

245循环语句的嵌套/46

246三种循环结构的应用场景/47

25方法/48

251方法介绍/48

252方法声明与调用/48

253方法重载/51

254方法递归/52

26数组/53

261数组概述/53

262数组的常见操作/54

263数组排序算法/58

264二分查找法/61

265方法中的可变参数/63

266二维数组/63

267Arrays工具类/65

27JVM中的堆内存与栈内存/65

271堆和栈/65

272数据类型传递/67

273方法中的数据交换/67

28本章思政元素融入点/68

29本章小结/68

210习题/69

第3章面向对象程序设计(基础)/70

31面向对象的概念/70

311什么是面向对象/70

312面向对象的特性/70

313类和对象/70

32面向对象编程/71

321类的定义/71

322对象的创建与使用/72

323成员变量默认值/72

324对象内存分析/73

325匿名对象/75

33构造方法/75

331什么是构造方法/75

332构造方法的使用/76

333构造方法的重载/77

34this关键字/78

341this关键字介绍/78

342this关键字的使用/78

35static关键字/79

351静态变量/79

352静态方法/80

353静态代码块/82

36包/83

361包的概念/83

362类的访问与导包/84

37本章思政元素融入点/84

38本章小结/85

39习题/85

第4章面向对象程序设计(进阶)/87

41封装/87

411什么是封装/87

412访问修饰符/87

413get()/set()方法/88

42继承/90

421什么是继承/90

422继承的使用/90

423方法重写/92

43super关键字/93

431super关键字的使用/93

432super与this对比/94

44final关键字/95

441final关键字介绍/95

442final关键字的使用/95

45Object类/96

451Object类介绍/96

452Object类的常见方法/96

46多态/101

461什么是多态/101

462多态的实现/101

463引用类型数据转换/103

464多态中变量与方法的调用/105

47抽象类/107

471什么是抽象类/107

472抽象类的定义与使用/107

48接口/109

481什么是接口/109

482接口的定义与使用/110

483接口的多实现/112

484接口的继承/113

485接口的static方法和default方法/114

486抽象类与接口的区别/115

49内部类概述/116

491内部类/116

492成员内部类/116

493静态内部类/117

494局部内部类/119

495匿名内部类/120

410本章思政元素融入点/121

411本章小结/121

412习题/122

第5章异常/123

51异常概述/123

511什么是异常/123

512异常与错误/123

513Throwable与异常体系/124

514Exception/125

52异常处理/126

521抛出异常/126

522声明异常/127

523捕获异常/128

53异常进阶/130

531自定义异常/130

532方法重写中的异常/132

54本章思政元素融入点/133

55本章小结/133

56习题/133

第6章Java常用类/135

61包装类/135

611什么是包装类/135

612基本数据类型与包装类/136

613自动装箱与拆箱/137

614大数字运算/138

62String类概述/141

621String类/141

622String类查找方法/142

623String类转换方法/143

624String类中的其他方法/14463StringBuffer类与StringBuilder类/145

631StringBuffer类/145

632StringBuffer类常见方法/146

633StringBuilder类/147

634字符串拼接效率比较/147

635链式编程/148

64时间和日期相关类/149

641时间戳/149

642Date类/149

643SimpleDateFormat类/151

644Calendar类/152

65其他常用类/153

651Math类/153

652Random类/155

653UUID类/155

654枚举类/156

66本章思政元素融入点/157

67本章小结/158

68习题/158

第7章集合与泛型/159

71集合概述/159

711集合介绍/159

712Collection接口/159

72List接口概述/161

721List接口/161

722ArrayList类/162

723LinkedList类/163

724Vector类/164

725集合的遍历/165

726Collections工具类/165

73泛型概述/168

731泛型/168

732泛型的使用/169

733泛型类与泛型接口/170

734泛型方法/172

735泛型通配符/173

74Iterator迭代器/174

741为什么要使用迭代器/174

742Iterator类/175

75Map接口/176

751Map接口概述/176

752HashMap类/176

753Map的遍历/177

754LinkedHashMap类/179

755Hashtable类/179

756TreeMap类/180

757Comparable与Comparator/180

76Set接口/183

761Set接口概述/183

762HashSet类/184

763LinkedHashSet类/185

764TreeSet类/185

77本章小结/186

78习题/186

第8章Lambda与Stream/187

81Lambda表达式/187

811Lambda简介/187

812函数式接口/187

813Lambda基础语法/188

814Lambda的语法简化/190

815方法引用/191

816集合中使用Lambda/192

82Stream/193

821Stream介绍/193

822Stream的使用/194

83本章小结/202

84习题/203

第9章文件与I/O流/204

91I/O流/204

911输入与输出/204

912I/O流体系/204

92File类/205

921File类概述/205

922File类的常用方法/205

923File操作文件/206

924遍历目录文件/208

93字节流/209

931OutputStream/209

932InputStream/210

94字符流/211

941Reader/211

942Writer/213

95缓冲流概述/214

951复制文件案例/214

952缓冲流/216

953字节缓冲流/216

954字符缓冲流/218

96打印流概述/219

961打印流/219

962PrintWriter/220

97对象流概述/221

971对象流/221

972序列化与反序列化/221

973对象流使用/221

974序列化版本ID/223

98字节数组流概述/224

981字节数组流/224

982ByteArrayOutputStream/224

983ByteArrayInputStream/225

99本章小结/226

910习题/227

第10章JDBC/228

101JDBC概述/228

102准备工作/229

1021数据库选择/229

1022建表/229

1023JDBC快速上手/230

103JDBC操作数据库/233

1031使用JDBC添加数据/233

1032使用JDBC更新数据/234

1033使用JDBC删除数据/234

1034使用JDBC分页查询/235

104JDBC工具类封装/238

1041为什么要封装DBUtils/238

1042封装DBUtils/238

1043DBUtils增加、删除、修改、查询/240

105SQL注入问题/248

1051SQL注入演示/248

1052什么是SQL注入/249

1053使用PreparedStatement解决SQL注入问题/249

106JDBC事务处理/251

1061什么是事务/251

1062事务的四大特性/251

1063使用事务模拟转账/251

107JDBC连接池/253

1071池化技术/253

1072JDBC连接池介绍/253

1073自定义连接池/254

1074测试连接池性能/256

108本章思政元素融入点/258

109本章小结/258

1010习题/259

第11章多线程/260

111多线程概述/260

1111多线程介绍/260

1112进程/260

1113线程/261

112线程的创建/261

1121继承Thread类/261

1122实现Runnable接口/263

1123Callable与Future结合/265

1124实现多线程方法的对比/266

113线程的生命周期和状态转换/266

1131线程生命周期介绍/266

1132线程的状态转换/268

114synchronized关键字/274

1141线程安全概述/274

1142同步方法/275

1143同步代码块/276

1144死锁/279

115线程通信/281

1151等待唤醒机制/281

1152生产者消费者模式/282

116显式锁Lock/289

1161synchronized存在的问题/289

1162ReentrantLock/289

1163Condition与生产者消费者/291

117Java并发包/294

1171并发包介绍/294

1172AtomicInteger/294

1173CountDownLatch/295

1174ConcurrentHashMap/297

1175BlockingQueue介绍/298

1176ArrayBlockingQueue/299

1177LinkedBlockingQueue/301

1178DelayQueue/301

118线程池/303

1181线程池介绍/303

1182线程池原理/303

1183Executors工具类创建线程池/304

1184ExecutorService接口/305

1185自定义线程池/307

119本章小结/310

1110习题/310

第12章网络编程/311

121网络通信协议/311

122TCP和UDP/312

1221TCP/312

1222UDP/312

123IP与端口/313

1231IP地址与分类/313

1232端口与分类/313

1233IP与端口相关类/313

124Socket通信/315

1241长连接与短连接/315

1242Socket通信流程/315

1243Socket与ServerSocket/315

1244Socket通信示例/317

1245使用while循环接收消息/319

1246多线程下的Socket编程/320

1247实现一个网课聊天室/322

125Java中的UDP/325

1251UDP/325

1252Java使用UDP进行数据传输/325

126HTTP/327

1261URL介绍/327

1262Java中的URL类/327

1263HTTP介绍/328

1264HttpURLConnection类/329

127本章思政元素融入点/331

128本章小结/332

129习题/332

第13章反射与注解/333

131反射/333

1311什么是反射/333

1312Java程序在计算机中的3个阶段/333

1313反射相关的类/334

1314获取Class/335

1315Class类的相关方法/336

1316Field类的相关方法/336

1317Constructor类的相关方法/339

1318Method类的相关方法/340

1319使用反射验证泛型擦除/343

132注解/344

1321什么是注解/344

1322注解的语法/344

1323注解的属性/344

1324元注解/345

1325注解的使用/347

133本章小结/348

134习题/349

参考文献/350