新書推薦:
《
分析性一体的涌现:进入精神分析的核心
》
售價:NT$
556.0
《
火枪与账簿:早期经济全球化时代的中国与东亚世界
》
售價:NT$
352.0
《
《全面与进步跨太平洋伙伴关系协定》国有企业条款研究
》
售價:NT$
449.0
《
银行业架构网络BIAN(全球数字化时代金融服务业框架)(数字化转型与创新管理丛书)
》
售價:NT$
449.0
《
金托邦:江湖中的沉重正义
》
售價:NT$
275.0
《
易经今解:释疑·解惑·见微
》
售價:NT$
403.0
《
东欧史(全二册)-“中间地带”的困境
》
售價:NT$
1010.0
《
虚拟资本:金融怎样挪用我们的未来
》
售價:NT$
352.0
|
編輯推薦: |
配套资源丰富,除了PPT课件和教学大纲之外,还有微课视频、丰富实训、课程设计题目与代码、思政内容等。
|
內容簡介: |
本书依据Java教学和实训的要求,以培养具有计算思维的Java软件工程师为教学目标,主要讲解Java语法、面向对象编程技术、JDK常见类的使用、Java I/O技术、Java GUI技术、Java多线程技术、Java网络编程技术和JDBC编程技术等内容。 本书基于JDK 16和Eclipse IDE,坚持够用、实用、简单、直接的理念,对教学内容进行重构。通过“活代码”和“做中学”来讲解Java; 以名家观点、思政话题、拓展知识和综合实例来融入课程思政; 通过示例程序、编程实践、综合实例和课程设计项目来构建Java学习路线。 本书适合作为高等学校“Java程序设计”等编程入门课程的教材。本书能够帮助教师轻松地组织线上线下混合式教学,并帮助读者少走弯路,快速掌握Java编程实践能力。
|
目錄:
|
第1章走进Java编程世界
1.1IT产业
1.1.1信息技术
1.1.2互联网和物联网
1.1.3云计算
1.1.4大数据
1.1.5人工智能
1.2Java简介
1.2.1Java是什么
1.2.2Java语言的特点
1.2.3为什么要学Java
1.2.4怎样学习Java
1.2.5怎样才算学好了Java
1.3搭建Java开发环境
1.3.1Java平台的基本概念
1.3.2Java程序的运行
1.3.3JDK的下载、安装和配置
1.3.4Eclipse的下载、安装和配置
1.4在Eclipse中开发Java程序
1.4.1Eclipse的基本概念
1.4.2对Eclipse进行简单设置
1.4.3Eclipse基本操作
1.4.4个Java程序
1.4.5Java开发过程的英文能力要求
1.5综合实例: 构建Java开发环境,“扣”好编程的“粒扣子”
1.5.1案例背景
1.5.2编程实践
1.6本章小结
1.7自测题
第2章Java语言基础(上)
2.1Java语言的语法成分
2.1.1标识符
2.1.2关键字和保留字
2.1.3分隔符
2.1.4注释
2.1.5编码规范
2.2数据类型和赋值语句
2.2.1数据类型
2.2.2赋值语句
2.2.3基本数据类型的转换
2.3变量和常量
2.3.1整数类型变量
2.3.2小数类型变量
2.3.3字符类型变量
2.3.4布尔类型变量
2.3.5字符串类型变量
2.3.6对象包装类
2.4Java数据的输入和输出
2.4.1使用计算机解决问题
2.4.2用print()和println()实现数据的输出
2.4.3用printf()实现数据的输出
2.4.4用Scanner实现键盘数据的输入
2.4.5Java应用程序模板
2.5综合实例: 关注环境空气质量,建设绿色中国
2.5.1案例背景
2.5.2编程实践
2.6本章小结
2.7自测题
第3章Java语言基础(下)
3.1运算符和表达式
3.1.1机器数
3.1.2算术运算符
3.1.3关系运算符
3.1.4逻辑运算符
3.1.5位运算符
3.1.6条件运算符
3.1.7表达式
3.1.8语句
3.2Java流程控制语句
3.2.1顺序结构
3.2.2分支结构
3.2.3循环结构
3.2.4break和continue语句
3.2.5算法
3.3Java数组
3.3.1一维数组
3.3.2二维数组
3.3.3数组工具类
3.3.4在Eclipse中调试程序
3.4综合实例: 计算两点间距离,了解北斗卫星导航系统
3.4.1案例背景
3.4.2知识准备
3.4.3编程实践
3.5本章小结
3.6自测题
第4章面向对象(上)
4.1面向对象基础
4.2类
4.2.1类的定义
4.2.2成员变量
4.2.3成员方法的定义
4.2.4成员方法的调用
4.2.5成员方法的递归调用
4.2.6权限修饰符
4.3对象实例化和销毁
4.3.1构造方法的定义
4.3.2对象实例化
4.3.3对象的销毁
4.4定义包和引入类
4.4.1package语句
4.4.2import语句
4.4.3JDK常见包介绍
4.4.4利用文档注释生成Java文档
4.5综合实例: 阅读俄罗斯方块源代码,理解面向对象语法现象
4.5.1案例背景
4.5.2阅读实践
4.6本章小结
4.7自测题
第5章面向对象(下)
5.1类的重用
5.1.1类的继承和组合
5.1.2关键字this和super
5.1.3方法的覆盖
5.2语句块和对象的造型
5.2.1语句块
5.2.2对象的上溯造型和下溯造型
5.3终类、抽象类和接口
5.3.1终类
5.3.2抽象类
5.3.3接口
5.4异常处理机制
5.4.1方法调用堆栈
5.4.2Exception的概念、子类及其继承关系
5.4.3Java异常处理机制
5.5综合实例: 编写平面图形程序,理解抽象类和接口
5.5.1案例背景
5.5.2编程实践
5.6本章小结
5.7自测题
第6章JDK常见类的使用(上)
6.1Java生态圈
6.2JDK帮助文档
6.2.1JDK帮助文档简介
6.2.2JDK帮助文档提供的类或接口的信息
6.2.3JDK文档中提供的方法信息
6.3System类和Math类
6.3.1System类
6.3.2Math类
6.4字符串类
6.4.1String类
6.4.2StringBuffer类
6.5Date、Calendar和SimpleDateFormat
6.5.1Date类
6.5.2Calendar类
6.5.3SimpleDateFormat类
6.6综合实例: 编写洗牌和发牌程序,从台前走向幕后
6.6.1案例背景
6.6.2知识准备
6.6.3编程实践
6.7本章小结
6.8自测题
第7章JDK常见类的使用(下)
7.1Collection接口及其实现类
7.1.1Collection简介
7.1.2List接口及其子类
7.1.3Set接口及其子类
7.2Map接口及其子类
7.3Java计算生态
7.3.1中文繁简转换
7.3.2汉字转换拼音
7.3.3文本转语音
7.4拓展内容
7.4.1范型
7.4.2正则表达式
7.5综合实例: 文本分析编程,为祖国自豪
7.5.1案例背景
7.5.2知识准备
7.5.3编程实践
7.6本章小结
7.7自测题
第8章Java I/O技术
8.1Java I/O技术简介
8.2常见I/O应用编程一
8.2.1File类
8.2.2利用字节流完成文件的读写
8.2.3利用文件字符流完成文本文件的读写
8.2.4利用Scanner和PrintStream完成文件的读写
8.3常见I/O应用编程二
8.3.1基本数据类型数据的读写
8.3.2引用数据类型数据的读写
8.3.3利用POI读写Excel
8.4综合实例: WPS文档加密编程,国产软件之光
8.4.1案例背景
8.4.2知识准备
8.4.3编程实践
8.5本章小结
8.6自测题
第9章Java GUI编程技术
9.1Java GUI编程技术简介
9.1.1AWT
9.1.2swing
9.1.3GUI设计工具
9.2Java GUI相关类和接口
9.2.1组件类
9.2.2布局管理器
9.2.3Java事件处理机制
9.2.4Color类和Font类
9.2.5表格组件JTable
9.2.6图表绘制类库JFreeChart
9.3利用WindowBuilder插件进行GUI应用开发
9.3.1WindowBuilder插件的下载和安装
9.3.2WindowBuilder插件的基本使用
9.3.3WindowBuilder事件处理
9.3.4WindowBuilder生成代码改造
9.4综合实例: 二维码应用编程,体验新冠疫情防控信息化
9.4.1案例背景
9.4.2知识准备
9.4.3编程实践
9.5本章小结
9.6自测题
第10章Java多线程技术
10.1程序、进程和线程
10.2如何实现线程
10.2.1线程相关的类和接口
10.2.2线程的状态
10.3线程的互斥与同步
10.3.1用synchronized实现线程的互斥
10.3.2用信号量机制实现线程的同步
10.3.3Fork/Join框架
10.4综合实例: 倒计时牌编程,致敬北京冬奥
10.4.1案例背景
10.4.2编程实践
10.5本章小结
10.6自测题
第11章Java网络编程技术
11.1网络的发展
11.1.1几个重要概念
11.1.2B/S与C/S
11.1.3URI与URL
11.1.4TCP与UDP
11.2TCP Socket编程
11.2.1单线程Socket编程
11.2.2多线程Socket编程
11.2.3服务器和客户端通信
11.3UDP Socket编程
11.4综合实例: 爬取豆瓣数据,欣赏高分影片
11.4.1案例背景
11.4.2知识准备
11.4.3编程实践
11.5本章小结
11.6自测题
第12章JDBC编程技术
12.1关系数据库
12.1.1数据库基本知识
12.1.2数据库编程接口
12.2MySQL数据库的使用
12.2.1MySQL安装版的下载、安装与配置
12.2.2MySQL压缩版的下载、安装和配置
12.2.3MySQL数据库管理工具
12.2.4SQL语句
12.3JDBC编程
12.3.1JDBC API介绍
12.3.2通过JDBC访问MySQL数据库
12.3.3用Statement实现静态SQL语句编程
12.3.4用PreparedStatement实现带参数SQL语句编程
12.4综合实例: 挑战答题系统编程,体会学习的乐趣
12.4.1案例背景
12.4.2编程实践
12.5本章小结
12.6自测题
第13章课程设计: 排队叫号模拟系统(上)
13.1需求分析
13.2系统设计
13.2.1界面设计
13.2.2模块设计
13.3知识准备
13.3.1单例模式
13.3.2LinkedBlockingQueue队列
13.3.3可调度线程池
13.3.4JList应用示例
13.3.5数据归档的实现——Log4j组件
13.4本章小结
第14章课程设计: 排队叫号模拟系统(下)
14.1技术方案
14.2系统编程实现
14.2.1课程设计开发前的准备工作
14.2.2编写系统主界面(MainUI.java)
14.2.3编写叫号机类(QueuingMachine.java)
14.2.4编写业务窗口类(ServiceWindow.java)
14.2.5编写MainUI类事件处理代码
14.2.6编写查看日志类(ShowLog.java)
14.2.7排队叫号系统的进一步优化
14.3系统测试和运行
14.3.1黑盒测试
14.3.2白盒测试
14.3.3系统部署和运行
14.4本章小结
参考文献
参考网站
附录A各章课程思政主题列表
附录B各章教学视频列表
|
內容試閱:
|
信息技术的发展日新月异,云计算、大数据、物联网、人工智能、互联网 等正在改变着人们的生活。信息技术和高等教育深度融合,推动着教学理念、教学模式、教学方法和教学手段的变革,知识传递方式发生了重大变化。
习近平总书记在中国共产党第二十次全国代表大会上的报告中指出,“教育是国之大计、党之大计。”
近年来,慕课(Massive Open Online Courses,MOOC)在我国迅速发展,新冠疫情也助推着在线教学规模的扩大和水平的提升。截至2022年2月底,我国上线慕课数量超过5万门,在校生获得慕课学分的人次超过3亿,慕课数量和学习人数均居世界,并且仍保持快速增长的态势。翻转式学习、线上线下相结合的混合式教学等新型教学模式成为高校教学的主流和常态。
在这种趋势下,编者于2017年5月在清华大学出版社出版了创新型教材《Java程序设计教程——微课·实训·课程设计》,在传统教材的基础上配套了丰富的实操讲解视频,受到高校教师的普遍欢迎,被几十所院校选用。时间一转眼过去了5年,随着Java技术的发展,教材修订势在必行。
Java是一门面向对象的程序设计语言。Java采用类C语言语法,简单易学,功能强大,拥有完整丰富的生态体系。自1995年由Sun公司发布以来,Java语言一直位居计算机编程语言排行榜前列,是IT产业软件开发的主力军。
本书采用当前版JDK,IDE采用Eclipse,制定了兼顾一般学习者和Java软件工程师两个层次的教学目标,重新选取示例程序和编程作业,对教学内容进行重构,通过“活代码”和“做中学”的CDIO(构思、设计、实现、运作)理念来讲解Java。
(1) 对于零基础的学习者: 建议每周3课时,用12周时间完成学习(大学一年级新生的课程,建议设置为3学分)。其中,10周时间学习Java语法、面向对象编程技术、JDK常见类的使用、Java I/O技术、Java GUI技术、Java多线程技术等内容; 2周时间学以致用,完成一个难度适中、功能完整的课程设计项目——排队叫号系统。相应的慕课课程可以到中国大学MOOC平台进行学习。
(2) 对于有一定基础的学习者: 建议每周4课时,用16周时间完成学习。其中,12周时间学习Java语法、面向对象编程技术、JDK常见类的使用、Java I/O技术、Java GUI技术、Java多线程技术、Java网络编程技术、JDBC编程技术等内容。每个学生用2周时间独立完成一个课程设计。相应的慕课课程可以到中国大学MOOC平台进行学习。
本书特色如下。
(1) 数字化教材建设: 本书以纸质教材为体,以中国大学MOOC和超星泛雅教学平台为翼,建设了包括文本、图片、多媒体课件、微视频、动画、思维导图、课程设计、作业库、试题库、线上讨论、OnlineJudge平台等数字化、立体化、智能化资源,形成覆盖线上线下、课前课中课后、学习实践全过程的教学系统。
(2) 课程思政: 本书通过名家观点、拓展知识、综合实例、编程要求等方式将课程思政与知识传授、能力培养、价值塑造有效融为一体,如盐在水。
(3) 计算思维: 学习Java编程是提高信息素养、锻炼计算思维、培养实践创新能力的选择。
(4) 借鉴CDIO“做中学”和“学中做”的理念,建立了“厘清需求、知识准备、算法设计、编程实现、总结提高”五步编程法,便于翻转课堂和线上线下混合式教学的实施。
(5) 相关荣誉: 张延军老师主持的“Java程序设计”课程被评为“河北省精品在线开放课程”,被列入河北省省级一流本科立项建设课程(线上线下混合式),建设期为5年。由张延军老师带领的“Java课程群”教学团队被评为河北省省级优秀教学团队。
本书由张延军、薛刚主编,李贞、杨召南任副主编并参与了教材编写、资料整理、代码调试、文稿校对等工作。清华大学出版社的编辑为本书的顺利出版提供了宝贵的意见,付出了大量的劳动,在此一并表示感谢。
本书配套微课视频、教学大纲、PPT课件、程序源码、习题答案等丰富的教学资源。读者用手机微信扫描本书封底的“文泉云盘防盗码”、获得授权后,即可扫描书中的二维码观看视频(二维码位置请参阅附录B)。其他资源可以从清华大学出版社微信公众号“书圈”(见封底)获取。如果在本书及资源的使用中遇到问题,请发邮件至404905510@qq.com联系责任编辑。
由于编者水平有限,书中不足之处在所难免,欢迎广大同行和读者批评指正。
让我们一起跟随本书学习Java语言,用程序代码控制计算机去“触摸”世界,用计算思维引导创新实践。让我们在交流讨论中提高,在编程实践中进步。
欢迎走进精彩的Java编程世界!
编者
2023年1月
|
|