描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787302591993
《Java编程讲义》从Java初学者角度出发,综合考察了目前Java开发领域的实际需求,全面研究了Java初学者面对的难点、痛点,详细讲解了Java技术的基础知识。该书核心亮点如下:
(1)由具备15年Java培训经验,被誉为“互联网金领基地”的AAA软件教育组织一线优秀培训讲师编写而成,参写作者均具有10年以上Java开发经验,5年以上授课经验。
(2)全书结合生活化的编程案例展开讲解,生动、活泼而又干货满满,能够使初学者轻松领会Java技术精髓,快速掌握Java开发技能。
(3)通过“是什么,为什么学,用在哪儿,如何用”的模式安排内容讲解,不仅使Java技术学习容易上手,更增加了对实际开发关注重点的剖析。
(4)配套217集一线Java培训视频随书讲解,这些视频都是以51CTO、CSDN等平台售卖的视频课程为标准录制,有趣、有料、有干货。
(5)AAA软件教育长期与郑州大学、河南大学等高校开展“产教融合”的深度合作,本书内容全面符合高校相关专业的教学大纲,可作为本科、大专、高职院校相关专业的教材。
(6)配备高质量的精美PPT课件,可辅助高校教师、培训机构讲师备课,美观、高质、高效。
(7)图书配有电子图书拓展资源,包括各章的知识要点总结和对应的理论测试题、编程实战题。
(8)配备小A答疑等在线服务,一线讲师随时答疑解难。
《Java 编程讲义》根据目前Java 开发领域的实际需求,从初学者角度出发,详细讲解了Java 技术的基础知识。全书共15 章,包括Java 开发入门,Java 语言基础,Java 控制结构,数组,面向对象编程,继承和多态,抽象类、接口和内部类,异常处理,Java 常用类库,集合与泛型,Lambda 表达式,输入/输出流,多线程,JDBC数据库技术,网络编程等内容。内容全面覆盖Java 开发的基础知识点,结合生活化案例展开讲解,程序代码给出了详细的注释,能够使初学者轻松领会Java 技术精髓,快速掌握Java 开发技能。为了进一步便于教师与学生使用,本书配套了丰富的资源,包括随书视频、优质PPT 课件、源代码资源、授课资源、习题、 测试题等。
第1章 Java开发入门 1
1.1 Java概述 2
1.1.1 Java的由来与发展 2
1.1.2 Java语言的特点 3
1.2 Java开发环境搭建 4
1.2.1 JDK简介 4
1.2.2 下载和安装JDK 4
1.2.3 环境变量配置 5
1.2.4 测试开发环境搭建成功与否 8
1.2.5 JDK目录详细剖析 8
1.3 Java程序的开发步骤 9
1.3.1 编写源代码 9
1.3.2 编译程序 10
1.3.3 运行程序 10
1.3.4 简化的编译运行流程 11
1.3.5 反编译 11
1.4 Java虚拟机与垃圾回收 11
1.4.1 Java虚拟机JVM 12
1.4.2 垃圾回收机制 12
1.5 IntelliJ IDEA开发工具 13
1.5.1 IDEA概述 13
1.5.2 IDEA的安装与启动 13
1.5.3 使用IDEA进行程序开发 15
第2章 Java语言基础 20
2.1 Java基本语法 21
2.1.1 Java语言的基本格式 21
2.1.2 Java关键字 21
2.1.3 Java标识符 22
2.1.4 Java注释 22
2.1.5 Java编程风格 23
2.2 Java基本数据类型 24
2.2.1 整数类型 25
2.2.2 浮点类型 25
2.2.3 字符类型 26
2.2.4 布尔类型 26
2.3 Java中的变量与常量 26
2.3.1 变量及其声明 26
2.3.2 常量及其声明 27
2.3.3 var变量及其声明 27
2.3.4 变量作用域 28
2.4 基本数据类型的转换 28
2.4.1 自动类型转换 28
2.4.2 强制类型转换 29
2.5 运算符 29
2.5.1 算术运算符 30
2.5.2 算术混合运算的精度 32
2.5.3 关系运算符 33
2.5.4 逻辑运算符 34
2.5.5 赋值运算符 35
2.5.6 位运算符 36
2.5.7 条件运算符 39
2.5.8 运算符的优先级 39
2.6 数据存储区与引用数据类型 40
2.6.1 栈存储区 40
2.6.2 堆存储区与引用数据类型 40
2.7 输入和输出 41
2.7.1 控制台输出 41
2.7.2 Scanner获取键盘数据 43
第3章 Java控制结构 45
3.1 Java程序结构 45
3.2 选择语句 47
3.2.1 if条件语句 47
3.2.2 switch条件语句 52
3.3 循环语句 58
3.3.1 while循环语句 58
3.3.2 do-while循环语句 60
3.3.3 for循环语句 61
3.4 循环嵌套 63
3.5 跳转语句 64
3.5.1 break语句 64
3.5.2 continue语句 68
3.5.3 return语句 70
第4章 数组 72
4.1 一维数组 72
4.1.1 一维数组的创建 73
4.1.2 数组元素的分配 74
4.1.3 数组元素的访问 75
4.1.4 length的使用 75
4.1.5 使用foreach遍历数组 76
4.1.6 基本类型数组的初始化 77
4.1.7 引用类型数组的初始化 78
4.2 二维数组 79
4.2.1 二维数组的创建 80
4.2.2 二维数组的内存分配 80
4.2.3 嵌套循环存取二维数组 82
4.2.4 非对称型数组 83
4.3 数组的排序与查找 83
4.3.1 数组元素排序 84
4.3.2 数组元素的查找 85
第5章 面向对象编程 89
5.1 面向对象概述 90
5.2 类与对象 91
5.2.1 类与对象的关系 91
5.2.2 类的定义 92
5.2.3 成员变量 92
5.2.4 成员方法 92
5.2.5 类的UML图 93
5.2.6 对象的创建与使用 94
5.2.7 成员变量与局部变量的区别 96
5.3 类的封装 96
5.4 构造方法 98
5.5 方法重载 99
5.5.1 构造方法的重载 99
5.5.2 成员方法的重载 100
5.6 this关键字 101
5.6.1 this关键字的3种用法 101
5.6.2 this关键字调用构造方法的常见错误 103
5.7 static关键字 104
5.7.1 静态变量 104
5.7.2 静态方法 105
5.7.3 静态代码块 105
5.8 包 106
5.8.1 包的概念和作用 106
5.8.2 创建包 107
5.8.3 导入包 107
5.8.4 常用的包 108
5.9 Java修饰符总结 108
5.9.1 访问控制符 108
5.9.2 非访问控制符 109
第6章 继承和多态 110
6.1 类的继承 111
6.1.1 继承的概念 111
6.1.2 继承的使用 111
6.2 方法重写 112
6.3 super关键字 114
6.3.1 super访问父类构造方法 114
6.3.2 super访问父类成员变量和成员方法 116
6.4 final关键字 117
6.4.1 final修饰局部变量 117
6.4.2 final修饰成员变量 117
6.4.3 final修饰成员方法 118
6.4.4 final修饰类 119
6.5 多态 119
6.5.1 为什么需要多态 120
6.5.2 多态的概念 120
6.5.3 多态的实现 121
6.5.4 对象类型转换 122
6.6 Object类 124
6.6.1 equals()方法 124
6.6.2 getClass()方法 125
6.6.3 toString()方法 125
第7章 抽象类、接口和内部类 127
7.1 抽象类 127
7.2 接口 129
7.2.1 接口的定义 129
7.2.2 接口实现 130
7.2.3 接口的继承 131
7.2.4 利用接口实现多重继承 133
7.2.5 接口默认方法 134
7.2.6 接口实现多态 135
7.2.7 抽象类和接口的比较 136
7.3 内部类 137
7.3.1 成员内部类 137
7.3.2 局部内部类 138
7.3.3 静态内部类 139
7.3.4 匿名内部类 140
第8章 异常处理 142
8.1 异常概述 143
8.2 异常的类型 143
8.2.1 异常类的体系结构 143
8.2.2 常见的异常类型 144
8.3 try-catch捕获异常 145
8.4 finally进行清理 146
8.4.1 finally用来做什么 147
8.4.2 在finally中使用return 148
8.5 throws关键字和throw关键字 149
8.5.1 使用throws关键字抛出异常 149
8.5.2 使用throw关键字抛出异常 150
8.6 异常处理的3种常用形式 151
8.6.1 第1种方式:分开捕获 152
8.6.2 第2种方式:嵌套捕获 152
8.6.3 第3种方式:联动捕获 153
8.7 自定义异常及异常丢失现象 154
8.7.1 自定义异常 154
8.7.2 异常丢失现象 156
第9章 Java常用类库 158
9.1 String类 159
9.1.1 String类初始化 159
9.1.2 String类的常用方法 161
9.2 StringBuffer类 168
9.2.1 创建StringBuffer对象 168
9.2.2 StringBuffer类常用方法 169
9.3 日期时间类 170
9.3.1 Date类 170
9.3.2 Calendar类 172
9.3.3 LocalDate类和LocalTime类 173
9.3.4 LocalDateTime类 175
9.3.5 日期时间格式化类 176
9.4 系统相关类 181
9.4.1 System类 181
9.4.2 Runtime类 184
9.5 包装类 185
9.5.1 数值型包装类 185
9.5.2 Boolean类 187
9.5.3 Character类 188
9.6 数学相关类 188
9.6.1 Math类 189
9.6.2 BigInteger类 190
9.6.3 Random类 191
9.6.4 数字格式化 192
第10章 集合与泛型 196
10.1 Java集合概述 197
10.2 Collection接口 197
10.3 List接口 199
10.3.1 List接口简介 199
10.3.2 ArrayList集合 199
10.3.3 LinkedList集合 200
10.4 Collection集合遍历 201
10.4.1 Iterator遍历集合 202
10.4.2 foreach循环遍历集合 203
10.4.3 forEach遍历集合 204
10.4.4 Predicate操作集合 204
10.5 Set接口 206
10.5.1 Set接口简介 206
10.5.2 HashSet集合 206
10.5.3 TreeSet集合 209
10.6 Map接口 213
10.6.1 Map接口简介 214
10.6.2 HashMap集合 214
10.6.3 Map集合遍历 216
10.6.4 TreeMap集合 219
10.6.5 Properties集合 220
10.7 泛型 221
10.7.1 泛型的概念 221
10.7.2 泛型类声明与使用 221
10.7.3 泛型在集合中的使用 223
10.8 集合常用工具类 224
10.8.1 Collections工具类 224
10.8.2 Arrays工具类 226
第11章 Lambda表达式 228
11.1 Lambda表达式入门 228
11.1.1 函数式编程思想 229
11.1.2 Lambda表达式语法 229
11.2 函数式接口 231
11.3 Lambda表达式的简化形式 233
11.4 访问变量 234
11.4.1 访问成员变量 234
11.4.2 捕获局部变量 235
11.5 方法引用 236
11.5.1 引用类的静态方法 236
11.5.2 引用类的实例方法 237
11.5.3 引用对象的实例方法 238
11.5.4 引用构造方法 239
11.6 Lambda表达式调用Arrays的类方法 240
第12章 输入/输出流 242
12.1 I/O流概述 243
12.2 File类 244
12.2.1 File类及其常用方法 244
12.2.2 遍历目录下的文件 246
12.2.3 删除文件及目录 247
12.2.4 RandomAccessFile类 248
12.3 字节流 250
12.3.1 字节流概述 250
12.3.2 读写文件 252
12.3.3 文件复制 254
12.3.4 字节流的缓冲区 255
12.4 字符流 256
12.4.1 字符流概述 257
12.4.2 操作文件 257
12.4.3 转换流 258
12.5 对象序列化方式 259
12.5.1 对象序列化概述 260
12.5.2 如何实现对象序列化的持久化 260
12.5.3 引用对象的序列化控制 262
第13章 多线程 267
13.1 线程概述 268
13.1.1 进程 268
13.1.2 线程 268
13.2 多线程的实现 269
13.2.1 继承Thread类实现多线程 269
13.2.2 实现Runnable接口实现多线程 271
13.2.3 通过Callable接口和Future接口实现多线程 272
13.2.4 3种实现多线程方式的对比分析 274
13.2.5 后台线程 275
13.3 线程的生命周期 276
13.3.1 新建状态和就绪状态 277
13.3.2 运行状态和阻塞状态 278
13.3.3 死亡状态 278
13.4 线程的调度 278
13.4.1 线程的优先级 279
13.4.2 线程休眠sleep() 280
13.4.3 线程让步yield() 282
13.4.4 线程插队join() 283
13.5 多线程同步 284
13.5.1 线程安全 284
13.5.2 多线程中的同步代码块 285
13.5.3 synchronized修饰的同步方法 287
13.5.4 生产者和消费者 288
第14章 JDBC数据库技术 291
14.1 JDBC概述 292
14.1.1 什么是JDBC 292
14.1.2 怎样连接数据库 292
14.2 JDBC常用API 294
14.2.1 Driver接口 294
14.2.2 DriverManager类 295
14.2.3 Connection接口 296
14.2.4 Statement接口 299
14.2.5 PreparedStatement接口 301
14.2.6 CallableStatement接口 303
14.2.7 ResultSet接口 304
14.3 JDBC事务 306
14.3.1 事务的概念 306
14.3.2 JDBC对事务的支持 307
14.3.3 使用事务实现批量更新 307
14.4 DAO模式 309
14.4.1 元数据 309
14.4.2 DatabaseMetaData接口 309
14.4.3 ResultSetMetaData接口 310
14.4.4 使用DAO模式 312
14.5 数据库连接池技术 316
14.5.1 DBCP数据库连接池技术 317
14.5.2 C3P0数据库连接池技术 319
第15章 网络编程 322
15.1 网络编程基础 323
15.1.1 网络通信协议 323
15.1.2 IP地址和端口号 324
15.1.3 InetAddress工具类 325
15.1.4 URLDecoder类和URLEncoder类 326
15.1.5 URL、URLConenction和URLPermission 327
15.2 UDP通信 328
15.2.1 UDP概念 328
15.2.2 DatagramPacket类 329
15.2.3 DatagramSocket类 329
15.2.4 UDP网络程序 330
15.2.5 UDP案例—聊天程序 332
15.3 TCP通信 334
15.3.1 TCP概念 334
15.3.2 ServerSocket类 335
15.3.3 Socket类 335
15.3.4 简易TCP网络程序 336
15.3.5 多线程的TCP网络程序 338
15.3.6 TCP案例—模拟百度网盘文件快传 341
15.4 代理服务器网络编程 343
15.4.1 Proxy创建网络连接 343
15.4.2 ProxySelector自动选择代理服务器 345
15.5 HTTPClient 347
15.5.1 HTTPClient概念 347
15.5.2 如何发送同步GET请求 347
15.5.3 如何发送带请求体的请求 348
15.5.4 如何发送异步请求 349
15.5.5 WebSocket接口 350
Java是一门功能强大的多用途编程语言,也是全球流行的开发语言之一。它是面向对象编程语言的代表,集跨平台、健壮、高性能等诸多优点,广泛应用于Web后端开发、移动端开发、大数据分析、人工智能开发等热门领域。随着Web技术的不断更新,Java语言与时俱进、推陈出新,在互联网行业占据十分重要的地位,在Tiobe、RedMonk、PyPL等全球知名的编程语言排行榜上长期稳居前三。目前,全球有超过500万的专业开发者在使用Java语言,Java程序运行在全球数十亿台设备上。对于一名想进入IT领域大展宏图的人士来说,学习Java程序开发无疑是一个极好的选择,而要学习Java,就需要从其语言基础开始学起。
本书遵旨
本书由AAA软件教育组织多位具有10年以上企业级开发经验和5年以上Java教育授课经验的讲师创作完成,全面讲解Java编程基础,并针对目前初学者学习程序设计过程中容易出现的痛点和难点做了详细剖析,使学员在零基础轻松学习的前提下可以循序渐进、由理论到实践逐步掌握Java开发技术。全书以“夯实基础、锻造编程思维、培养开发技能”为遵旨,理论结合实践,配以代表性和实用性兼具的典型案例,并精心设计巩固练习,全面符合目前本科、大专、高职院校软件开发专业的课时及教学大纲,非常适合高校相关专业教学使用,也适合Java初学者自学使用。
本书内容
全书共分15章,基于JDK 15全面讲解Java编程基础,具体内容如下。
学习准备:覆盖第1章,涉及Java概述、开发环境搭建、Java程序的开发步骤、虚拟机与垃圾回收机制、IntelliJ IDEA开发工具等内容。通过这部分内容的学习,可使学员掌握JDK 15的安装过程,了解JDK的目录结构,熟悉IntelliJ IDEA开发工具的安装和使用,动手实现属于自己的个Java程序。
语言基础:覆盖第2~4章,涉及基本语法、数据类型及转换、运算符、逻辑控制、数组等内容。通过这部分内容的学习,可使学员掌握Java的基本语法、数据类型、数组等重要的内容及新增功能var变量声明模式,理解堆栈的常用内存概念。在学习这部分内容时,需要熟练掌握知识要点,为后续学习奠定扎实的基础。
面向对象:覆盖第5~7章,涉及类、对象、方法、继承、多态、抽象类、接口、内部类等内容。通过这部分内容的学习,可使学员理解面向对象的编程思想,并能使用Java语言的抽象、封装、继承和多态等机制来开发中小型项目,领会面向对象编程的灵活性、模块性和可重用性。
核心技术:覆盖第8~13章,涉及异常处理、常用类库、集合与泛型、Lambda表达式、输入/输出流、多线程等内容。通过这部分内容的学习,可使学员快速掌握Java的类库体系结构、异常、集合体系结构、泛型的使用、Lambda表达式、输入/输出流、多线程编程等。本部分内容是Java面试必问的硬核内容,同时也是后续Java流行框架的根基,可以通过本部分内容快速提高开发效率,需要学员认真领悟、反复理解概念。这样,一则对前面内容复习串联,二则有利于后续的框架技术学习、源码阅读。
编程应用:覆盖第14~15章,涉及JDBC数据库技术、网络编程技术等内容。通过这部分内容的学习,可使学员掌握通过Java语言操作数据库,并且学习到框架技术的基本思想;同时,可以深刻理解TCP、UDP、代理服务器、HTTPClient等网络编程技术,并且能独立开发一些信息管理系统、网络聊天室等应用程序。
另外,全书以案例驱动的模式展开,力求让零基础学员达到“一次学习、终身受用”的效果。书中关键位置配有注意、编程技巧、知识点拨、误区警告、想一想等特色栏目,以提示学员加强注意、多加思考,进而帮助学员加深对Java编程思想的理解,扫除技术忙点,提高编程技能。
本书特色
本书作者团队结合十余年的企业级开发经验,一万余小时的培训授课经验,总结万余名学员学习中的常见错误,融合目前的编程教育理念,为本书打造了如下特色。
启发式学习,循序渐进:本书以零基础学员、初中级程序员为对象,从Java语言发展历史讲起,采用通俗易懂的语言,由浅入深地讲解了Java基础知识与核心技术,并针对性地对比了新旧版本的异同点。讲解过程步骤详尽、格式新颖,可使学员快速掌握书中知识点。
随书视频,细致讲解:为了便于学员“零障碍”地学习Java开发,本书所有章节都配备了课堂讲解视频,视频内容生动有趣、干货满满,扫描书中二维码,即可观看学习。
注释详尽,贴心提醒:为了降低学员的学习难度,书中代码都增加了详尽的注释。另外,在需要注意的部分、常见Bug部分,都增加了贴心提示,可以让学员在学习过程中少走弯路,快速掌握知识,提高学习效率。
理论试题,实践练习:书中各章节都提供了理论测试与实践练习(电子书形式,扫描对应二维码即可获取),可使学员从理论和实践两方面都能够做到回顾、练习,从而夯实基础、内外兼修,把Java技术学习彻底。
读者对象
本科、大专、高职院校的教师及学生
Java编程零基础入门自学者
培训机构的老师和学员
初、中级程序开发人员
程序测试和运维人员
编程爱好者
面试求职人员
创作与致谢
本书由AAA软件教育CEO荣锐锋负责统稿,张晨光负责编写,云智慧CEO殷晋负责总体技术把控,王向南负责文字审阅,尹成负责技术支持。同时,AAA教育的陈建、杨顺利、王和超、王秀芳、于永利、郑海洲、黄家珩、白金豹、丁燕飞、李大伟、秦鹏、孙浩强、李梦杰等老师给予本书极大的支持。除了研发小组成员,AAA软件教育全体Java讲师参与了本书的修订工作,还有AAA软件教育一千多名学员参与了本书试读,他们站在初学者的角度对本书提供了许多宝贵的修改意见,在此一并表示衷心的感谢。
在本书编写过程中,郑州大学软件学院李学相院长从产教融合,产、学、研一体化建设方面给予指导性的意见,在此特别表示感谢!
意见反馈
本书虽经多次认真修改与完善,难免百密一疏,恳请同行专家学者和读者朋友不吝指正,我们将不胜感激,并在再次重印时及时予以更正。您在使用本书时,发现任何问题或需要帮助,都可以与作者团队联系,我们将竭诚为您服务。
评论
还没有评论。