- ISBN:9787302638162
- 装帧:平装-胶订
- 册数:暂无
- 重量:暂无
- 开本:其他
- 页数:400
- 出版时间:2023-08-01
- 条形码:9787302638162 ; 978-7-302-63816-2
本书特色
本书定位于Java语言的初学者,适合作为高等院校计算机专业的“Java程序设计”教材,也可供Java自学人员、软件开发人员参考使用。
本书在内容组织和编写中充分融入了作者在承担“Java程序设计”国家精品课程和国家精品资源共享课程建设中的成果,遵循“兴趣为先、任务驱动、学以致用”的教学理念,每章均采用“Why-What-How”的渐进风格编写,并有大量精选案例分析。
进一步完善Java知识体系,紧跟Java技术的发展趋势,体现学以致用的教学宗旨。本书继承了之前版本的编写风格,同时结合Java技术的*新发展,对内容进行了相应的扩充和更新:进一步丰富了教材的知识结构,增加了如函数式接口、枚举类、单例类、流处理、Queue、NIO等新的知识点;强化Java Web开发技术的应用,引入了Servlet4.0*新技术,并增加了Spring、SpringBoot等*新的Web开发框架;面向*新版JDK 17相关技术和新特性,对部分知识点和案例程序进行同步更新。
全书以*新版JDK 17为基础,内容共分为四部分。**部分介绍Java的基础语法,包括基础类型与结构、数组、类与对象、内部类、Lambda表达式、Java高级特性(泛型、反射、注解)、Java系统类(集合框架、Stream)等。第二部分从实用性的角度,重点介绍Java的异常处理,输入输出处理,多线程,图形界面设计技术等。第三部分重点面向网络应用,介绍URL与Socket通信技术,Web编程技术,JDBC技术,Web站点构建等。第四部分分别以Servlet JSP 技术和Spring Boot开发框架为例,展示其在“学生信息管理系统”中的应用、开发过程和技巧。
内容简介
本书充分融入作者在承担“Java程序设计”国家精品课程和国家精品资源共享课程建设中的成果,遵循“兴趣为先、任务驱动、学以致用”的教学理念,每章均采用“WhyWhatHow”的渐进风格编写,并有大量精选案例分析。 全书以**版JDK 17为基础,内容分为4篇。**篇为基础篇(第1~6章),介绍Java的基础语法,包括基础类型与结构、数组、类与对象、内部类、Lambda表达式、Java高级特性(泛型、反射、注解)、Java系统类(集合、Stream)等。第二篇为提高篇(第7~10章),从实用性的角度,重点介绍Java的异常处理、输入输出处理、多线程、图形用户界面设计等。第三篇为网络篇(第11~14章),重点面向网络应用,介绍URL与Socket通信技术、Web编程技术、JDBC技术、Web站点构建等。第四篇为实例篇(第15章),分别以Servlet+JSP 技术和Spring Boot开发框架为例,展示其在“学生信息管理系统”中的应用开发过程和技巧。 本书定位于Java语言的初学者,适合作为高等学校计算机类专业“Java程序设计”课程的教材,也可供Java自学人员、软件开发人员参考使用。
目录
第1章Java概述3
本章学习目标3
1.1认识Java语言3
1.1.1Java语言的特点4
1.1.2Java平台的体系结构4
1.2Java运行环境与开发环境5
1.2.1Java运行环境5
1.2.2安装JDK5
1.2.3安装Eclipse开发工具6
1.3Java程序举例7
1.3.1用Eclipse编写**个Java Application7
1.3.2用Eclipse编写带命令行参数的应用程序12
习题与思考14
第2章Java程序设计基础15
本章学习目标15
2.1标识符和关键字15
2.1.1如何定义标识符15
2.1.2关键字16
2.1.3注释16
2.2常量和变量17
2.2.1变量17
2.2.2常量18
2.3基本数据类型18
2.3.1布尔类型18
2.3.2字符类型19
2.3.3整数类型20
2.3.4浮点类型20
2.3.5各类型数据间的相互转换21
2.4运算符21
2.4.1算术运算符22
2.4.2赋值运算符23
2.4.3条件运算符24
2.4.4位运算符24
2.4.5关系运算符26
2.4.6逻辑运算符26
2.5表达式与计算的优先级27
2.6程序控制语句28
2.6.1if语句28
2.6.2switch语句与表达式29
2.6.3while与dowhile语句31
2.6.4for语句32
2.6.5break语句34
2.6.6continue语句35
2.6.7return语句36
2.6.8实用案例: 计算斐波那契(Fibonacci)数列37
2.7实训任务38
习题与思考39
目录Java程序设计(第3版)第3章数组40
本章学习目标40
3.1数组使用初探40
3.2一维数组41
3.2.1定义数组41
3.2.2生成数组41
3.2.3初始化数组41
3.2.4访问数组42
3.2.5实用案例3.1: 求一维数组的*大值及位置42
3.3二维数组43
3.3.1定义二维数组43
3.3.2二维数组元素的引用44
3.3.3实用案例3.2: 求两个矩阵的乘积44
3.4Arrays类46
实用案例3.3对数组按中文名称排序47
3.5数组实训任务48
习题与思考49
第4章类和对象设计51
本章学习目标51
4.1面向对象基础51
4.2类和对象初探52
4.3定义类53
4.3.1定义成员变量54
4.3.2定义成员方法54
4.3.3方法重载55
4.4对象56
4.4.1实例化对象56
4.4.2初始化对象57
4.4.3使用对象58
4.4.4使用静态变量和方法59
4.4.5清除对象61
4.4.6应用程序与命令行参数62
4.4.7实用案例63
4.5包64
4.5.1包的定义65
4.5.2包的引入65
4.5.3模块66
4.6类及成员修饰符67
4.7类和对象实训任务69
习题与思考73
第5章Java继承与高级特性74
本章学习目标74
5.1继承使用初探74
5.2类的继承75
5.2.1继承的实现75
5.2.2继承与重写77
5.2.3继承与类型转换79
5.2.4实用案例80
5.3多态81
5.3.1多态性的概念81
5.3.2实用案例83
5.4抽象类与抽象方法83
5.4.1定义抽象类及实现抽象方法83
5.4.2实用案例84
5.5接口85
5.5.1接口定义85
5.5.2接口实现86
5.5.3接口中的默认方法和静态方法87
5.5.4Comparable与Comparator接口88
5.5.5实用案例90
5.6内部类92
5.6.1成员内部类92
5.6.2局部内部类92
5.6.3静态内部类(嵌套类)93
5.6.4匿名(内部)类93
5.6.5实用案例94
5.7Lambda表达式95
5.7.1初识作用95
5.7.2Lambda表达式定义95
5.7.3函数式接口95
5.7.4预定义函数式接口97
5.7.5双冒号运算99
5.7.6实用案例100
5.8Java类的高级特性100
5.8.1泛型100
5.8.2Java类加载机制104
5.8.3Java反射机制104
5.8.4实用案例109
5.8.5枚举类型112
5.8.6Java注解113
5.9继承与高级特性实训任务116
习题与思考119
第6章Java标准类库121
本章学习目标121
6.1简介121
6.2字符串类121
6.2.1String类122
6.2.2StringBuffer类126
6.2.3正则表达式127
6.2.4实用案例6.1: 使用正则表达式检查IP地址130
6.3数据类型包装器类131
6.3.1整型包装器类131
6.3.2实用案例6.2: 字符串和数字的相互转换132
6.4System类的使用133
6.4.1记录程序执行的时间133
6.4.2复制数组133
6.5Math和Random类的使用134
6.5.1Math类134
6.5.2Random类135
6.5.3实用案例6.3: 随机生成字符数组并排序136
6.6日期时间实用工具类136
6.6.1Date与LocalDateTime类136
6.6.2实用案例6.4: 日期的格式化138
6.7Java集合类139
6.7.1集合接口139
6.7.2实现List接口的类141
6.7.3实现Set接口的类142
6.7.4实现Queue接口的类144
6.7.5通过迭代接口访问集合类145
6.7.6映射接口147
6.7.7实现Map接口的类148
6.7.8比较与排序151
6.7.9实用案例6.5: 学生成绩检索和排序153
6.8Stream的使用154
6.8.1创建Stream154
6.8.2中间操作155
6.8.3终结操作156
6.8.4实用案例6.6: 使用Stream处理成绩157
6.9标准类实训任务159
习题与思考160
第二篇提高篇
第7章异常处理165
本章学习目标165
7.1为什么需要异常处理165
7.2异常概述168
7.2.1什么是异常168
7.2.2异常处理带来的好处169
7.3异常处理机制171
7.3.1Java的异常处理机制171
7.3.2异常类的类层次171
7.3.3异常的处理173
7.3.4实用案例: 找出数据文件中的*大值176
7.4自定义异常类178
7.5异常处理实训任务179
习题与思考180
第8章输入输出处理182
本章学习目标182
8.1流的作用182
8.2流的划分183
8.3标准输入输出流185
8.3.1标准输入185
8.3.2Scanner类封装标准输入流185
8.3.3标准输出和格式化输出186
8.3.4实用案例8.1: 数据的格式化输出187
8.4字节流使用188
8.4.1File类188
8.4.2文件字节流191
8.4.3字节过滤流193
8.4.4实用案例8.2: 文件加密解密195
8.5字符流使用196
8.5.1字节流向字符流的转化196
8.5.2读写文本文件197
8.5.3实用案例8.3: 文本替换199
8.6高级流处理199
8.6.1Path和Files的使用200
8.6.2使用通道和缓冲区读写文件201
8.6.3实用案例8.4: 文件夹的深度复制204
8.7串行化205
8.7.1串行化的概念205
8.7.2实用案例8.5: 串行化学生对象205
8.8输入输出处理实训任务207
习题与思考210
第9章Java多线程211
本章学习目标211
9.1为什么使用多线程211
9.2线程的概念212
9.3线程的创建213
9.3.1继承Thread创建线程213
9.3.2实现接口Runnable创建线程214
9.3.3使用Timer创建线程215
9.3.4实用案例9.1: 使用线程池创建线程216
9.4线程的生命周期及调度219
9.4.1线程生命周期219
9.4.2线程调度和优先级219
9.4.3线程的终止221
9.4.4实用案例9.2: 周期性检测中断结束线程222
9.5多线程互斥与同步223
9.5.1线程的互斥223
9.5.2线程的同步226
9.5.3实用案例9.3: 使用显式锁实现多线程互斥229
9.6多线程实训任务230
习题与思考234
第10章GUI程序设计235
本章学习目标235
10.1为什么学习GUI程序设计235
10.2基于Swing的简单界面设计236
10.2.1Swing简介236
10.2.2Swing的类层次结构237
10.2.3常见GUI组件238
10.2.4基于AWT的GUI程序240
10.3界面布局241
10.3.1无布局管理器布局242
10.3.2FlowLayout243
10.3.3BorderLayout243
10.3.4GridLayout244
10.3.5利用可视化工具进行布局245
10.3.6实用案例10.1: 布局复杂界面248
10.4响应用户事件250
10.4.1事件处理的基本过程250
10.4.2常用事件与事件监听器类252
10.4.3键盘与鼠标事件254
10.4.4实用案例10.2: 用鼠标绘图256
10.5高级组件JTree和JTable258
10.5.1JTree组件258
10.5.2JTable组件261
10.5.3实用案例10.3: 动态表格264
10.6GUI程序设计实训任务265
习题与思考270
第三篇网络篇
第11章网络通信273
本章学习目标273
11.1类URL与URLConnection273
实用案例11.1: 实现单线程的资源下载器276
11.2类InetAddress277
实用案例11.2: 获得指定内网中所有活动IP278
11.3Socket通信279
11.3.1基于TCP的Socket通信279
11.3.2实用案例11.3: 单客户端Socket通信281
11.3.3实用案例11.4: 多客户端Socket通信282
11.3.4基于UDP的网络通信285
11.3.5实用案例11.5: 简单的UDP通信示例286
11.3.6基于MulticastSocket实现多点广播288
11.4网络通信实训任务290
习题与思考291
第12章JSP与Servlet技术292
本章学习目标292
12.1为什么使用JSP292
12.2JSP技术293
12.2.1JSP工作原理293
12.2.2JSP的构成295
12.2.3JSP内建对象298
12.2.4实用案例12.1: 商品信息展示302
12.3Servlet技术304
12.3.1Servlet介绍304
12.3.2Servlet常用接口的使用305
12.3.3使用HttpServlet处理客户端请求309
12.3.4获得Servlet初始化参数312
12.3.5实用案例12.2: 基于Session实现简单的用户问好功能313
12.4JSP和Servlet结合的方法315
12.4.1模式一: JSP JavaBean315
12.4.2模式二: JSP Servlet JavaBean315
12.4.3JSP和Servlet的选择315
12.4.4实用案例12.3: 网站计数器功能316
12.5JSP与Servlet开发实训任务317
习题与思考320
第13章用Tomcat构建Web站点321
本章学习目标321
13.1Tomcat简介321
13.2安装配置Tomcat322
13.3编写简单的Web站点322
13.3.1配置服务器运行环境322
13.3.2新建动态Web工程324
13.3.3Web工程的结构325
13.3.4新建Servlet和JSP程序325
13.4运行Web站点328
13.5发布Web站点330
习题与思考331
第14章JDBC技术332
本章学习目标332
14.1为什么需要JDBC332
14.2数据库和常用的SQL语句334
14.2.1创建、删除数据库334
14.2.2创建、删除表334
14.2.3插入一条数据334
14.2.4在表中删除数据335
14.2.5更新表中的数据335
14.2.6查询表中的数据335
14.2.7条件子句335
14.3JDBC的结构336
14.4通过JDBC访问数据库337
14.4.1加载JDBC驱动程序337
14.4.2建立连接337
14.4.3执行SQL语句338
14.4.4检索结果339
14.4.5关闭连接339
14.4.6通过数据库连接池获得数据库连接339
14.4.7实用案例14.1: 查询指定商品状态的Java应用程序340
14.4.8实用案例14.2: 显示已有商品单价的JSP页面342
14.4.9事务处理344
14.4.10实用案例14.3: 事务操作345
14.5JDBC实训任务348
习题与思考353
第四篇实例篇
第15章Java应用开发案例357
本章学习目标357
15.1基于MVC模式的简单学生信息管理357
15.1.1MVC模式357
15.1.2创建数据库358
15.1.3程序的基本结构359
15.1.4模型359
15.1.5视图364
15.1.6控制器371
15.2基于Spring Boot的简单学生信息管理375
15.2.1Spring和Spring Boot框架375
15.2.2Spring Boot程序的基本结构376
15.2.3pom.xml文件376
15.2.4application.yml文件378
15.2.5模型379
15.2.6视图381
15.2.7控制器381
15.2.8运行项目383
作者简介
朱庆生,博士,重庆大学计算机学院教授、博士生导师,历任中国计算机学会常务理事和教育专委会副主任,全国高等学校计算机教育研究会秘书长和副珲事长,原电子部全国工科电子类教学指导委员会成员。先后主持国家自然科学基金、国家863项目、国家科技支撑计划项目等部委科研项目20余项,曾获原广电部科技进步一等奖、中国同防科技进步二等奖、四川省和重庆市科技进步二、三等奖7项。国家精品课程和国家精品资源共享课程“Java程序设计”、教育部一IBM精品课程和重庆市精品课程“Java并行编程”课程建设负责人。
-
落洼物语
¥8.4¥28.0 -
当代中国政府与政治(新编21世纪公共管理系列教材)
¥33.6¥48.0 -
中国当代文学名篇选读
¥17.0¥53.0 -
中医基础理论
¥50.7¥59.0 -
长征记忆(八品)
¥9.5¥45.0 -
中医基础理论【中医 针灸专业用】
¥18.0¥25.0 -
北大人文课(平装)
¥12.2¥45.0 -
世界现代设计史-[第二版]
¥63.6¥120.0 -
宪法-第二版
¥20.3¥29.0 -
先进防伪技术
¥81.3¥98.0 -
当代中国政府与政治 第二版
¥57.8¥68.0 -
企业法务教程
¥34.8¥49.0 -
汇川PLC编程与应用教程
¥36.8¥49.0 -
毛泽东思想和中国特色社会主义理论体系概论(2021年版)
¥8.5¥25.0 -
办公室工作实务(第4版)/黄海
¥27.8¥48.0 -
计算机操作系统教程(第4版)(清华大学计算机系列教材)
¥31.9¥49.0 -
习近平总书记教育重要论述讲义
¥13.3¥35.0 -
无人机概论
¥37.2¥59.0 -
(平装)北大必修课:北大口才课
¥18.2¥45.0 -
海商法-第四版
¥30.2¥48.0