Java语言是面向对象编程语言的代表,很好地体现了面向对象的理论,允许程序设计者以整体的思维方式进行程序设计。因其具有安全性、稳定性,拥有完善的多线程机制和强大的网络编程能力等特点,使其在面向对象和网络编程中占主导地位。尤其在互联网时代,Java语言大放异彩,成为常用的编程语言之一,因此学习Java语言非常有必要。
大多数传统的Java语言课程,将主要精力放在对Java语言语法细节的介绍上。学生们从一开始就陷入琐碎的细节之中,无法感受到程序设计的乐趣。这样的传统课程带给学生的学习体验常常比较糟糕,这会将许多本来热爱计算机的人拒之门外。
Java语言项目化教程(微课视频版)
视频、源码、课件、教学大纲、教案,以快速迭代、敏捷开发思想,通过开发游戏学习编程。
本书是《C语言项目化教程(微课视频版)》的姊妹篇,两者设计思想一脉相承,都借鉴了斯坦福大学“编程方法学”的思想,通过“微项目”在简化的环境中介绍编程。本书设计的“模拟电子屏” 微项目就像围棋一样,规则非常简单,但是变化万千。与C语言版本相比,Java语言版的微项目是采用面向对象的思想设计的,内容更加丰富多彩,能够实现更加复杂的游戏,充分展现了面向对象的魅力与价值。
读者可以通过“模拟电子屏”项目快速掌握Java的核心技术,迅速完成“俄罗斯方块”“贪吃蛇”“飞机大战”等经典游戏,并且通过这些游戏,找到彼此之间的联系,建立起通用的框架,然后就能快速编写各种经典小游戏,从而体会到作为一名设计者的乐趣,进而掌握程序设计最本质的内容。在熟练掌握Java核心技术后,可以不断升级小游戏,增加新的功能,使其成为一个复杂的网络游戏系统。在这个过程中读者可以学习到数据库和网络编程相关的知识,并且为学习如Spring等经典开源框架奠定良好的基础。
简而言之,读者在完成这些项目的过程中,一条经典的Java工程师进阶路线图就隐藏其中。这条路线就是从Java核心技术的学习到设计模式、流行开源框架的使用,然后是高并发、分布式系统的设计。这是一条精彩而有趣的路线,初学者可能对这条路线很陌生,但是随着学习的深入,会慢慢理解这条路线背后的逻辑。当然,这条路不是一蹴而就的,需要循序渐进。
本书受篇幅所限,不可能将这条路线中的所有内容包含其中,主要聚焦在Java核心技术的学习,并且在不断重构代码的过程中,会涉及部分经典的设计模式,如工厂模式、建造者模式等,让读者切身感受到设计模式的作用。读者在学习的时候,也需要不断重构代码,在重构的过程中,不断精进程序设计能力。
展开全文
通过“模拟电子屏”项目学习Java语言,读者不仅可以轻松愉快地学习到Java语言的知识,而且能切身感受到,作为面向对象语言的代表,Java语言在解决程序开发中复杂性问题上的优势,正如Java语言设计者的初衷一样:Java语言的目标是减少开发稳健性代码所需要的时间和困难。
本书主要内容
本书共分为14章,各章主要内容如下:
第一部分为基础篇,包括第1~6章。
第1章介绍程序及程序设计的基本概念,并且通过简单的案例介绍Java语言程序的基本结构和特点。
第2章介绍数据类型、运算规则,如何读取和操作数据。
第3章介绍Java的流程控制语句,包括选择控制结构语句和循环控制结构语句。
第4章介绍数组的定义、引用,以及数组的应用。
第5、6章介绍面向对象的编程思想、基本概念和特征,主要包括类的设计、对象的创建、抽象类和接口以及封装性、继承性和多态性。这是本书的重点内容,只有掌握了面向对象的编程思想,才能真正理解Java语言。
第二部分为提高篇,包括第7~13章。
第7章介绍集合与泛型,主要讲述集合和泛型的概念,以及常用集合的使用。
第8~10章介绍异常处理、字符串和输入输出常用的类,主要讲述异常处理机制、以及字符串类常用方法和流的概念,以及文件读写操作。
第11章介绍多线程,包括线程的创建、生命周期、调度方式以及线程同步、死锁等内容。
第12章介绍JDBC的基本概念,包括数据库访问步骤,以及如何使用JDBC对数据库进行操作。
第13章介绍网络编程的相关知识,包括网络通信协议以及使用TCP和UDP进行网络程序的编写。
第三部分为综合应用篇,包括第14章。
第14章介绍综合应用案例: 网络版“飞机大战”游戏,利用多线程、数据库与网络编程等相关知识完成较为复杂的网络版游戏,并通过该案例掌握网络游戏编程的框架设计。
目录
向上滑动阅览
第一部分基础篇
第1章Java语言概述
1.1Java语言的特点
1.2编程环境
1.2.1Java语言软件开发包
1.2.2集成开发环境介绍
1.3“模拟电子屏”项目介绍
1.3.1项目简介
1.3.2项目结构介绍
1.3.3项目核心类和方法介绍
1.4简单的Java语言程序示例
1.5注释
1.6综合案例:“俄罗斯方块”向下运动
习题
第2章Java数据类型及运算符
2.1数据类型
2.2变量和常量
2.2.1变量
2.2.2常量
2.3运算符与表达式
2.3.1赋值运算符与赋值表达式
2.3.2算术运算符与表达式
2.2.3关系运算符与关系表达式
2.3.4逻辑运算符与逻辑表达式
2.3.5逗号运算符与逗号表达式
2.3.6运算符优先级
2.4类型转换
2.4.1自动类型转换
2.4.2强制类型转换
2.5综合案例:“贪吃蛇”的运动
习题
第3章控制程序设计
3.1选择控制结构语句
3.1.1if语句
3.1.2switch语句
3.2循环控制结构语句
3.2.1while语句
3.2.2dowhile语句
3.2.3for语句
3.2.4三种循环的比较
3.2.5嵌套循环语句
3.2.6break语句和continue语句
3.3综合案例:按键控制“贪吃蛇”运动
习题
第4章数组
4.1一维数组
4.1.1一维数组的定义
4.1.2一维数组的初始化
4.1.3一维数组的使用
4.2二维数组
4.2.1二维数组的定义
4.2.2二维数组的初始化
4.2.3二维数组的引用
4.3综合案例:“贪吃蛇”游戏
习题
第5章面向对象基础
5.1面向对象概述
5.2类和对象
5.2.1对象的创建与使用
5.2.2类的定义
5.2.3访问控制符
5.2.4方法的重载
5.2.5构造方法
5.2.6static关键字
5.3综合案例:重构“贪吃蛇”游戏
习题
第6章面向对象特性
6.1类的继承
6.1.1继承的概念
6.1.2方法重写
6.1.3super关键字的使用
6.1.4子类的构造方法及调用过程
6.1.5final修饰符
6.1.6Object类
6.2抽象类和接口
6.2.1抽象类
6.2.2接口
6.3多态
6.3.1多态概述
6.3.2对象的类型转换
6.3.3接口实现多态
6.4内部类
6.4.1静态内部类
6.4.2非静态内部类
6.5综合案例:“地图”编辑器
习题
第二部分提高篇
第7章集合与泛型
7.1集合的概念
7.2Collection接口与实现类
7.2.1List接口与实现类
7.2.2Set接口与实现类
7.2.3Collection集合遍历
7.3Map接口与实现类
7.4泛型
7.5综合案例:“飞机大战”游戏
习题
第8章异常处理
8.1异常处理的方法
8.1.1异常的概念
8.1.2异常的捕获和处理
8.1.3异常的抛出
8.1.4自定义异常
8.2综合案例:重构“飞机大战”游戏
习题
第9章字符串
9.1String类
9.1.1创建String类对象
9.1.2字符串类常用方法
9.2StringBuffer类和StringBuilder类
9.3综合案例:数据加密和解密
习题
第10章输入输出
10.1流的概念
10.2字节流
10.2.1InputStream类和OutputStream类
10.2.2字节流读写文件
10.2.3缓冲字节流读写文件
10.3字符流
10.3.1字符流读写文件
10.3.2字符缓冲流读写文件
10.4标准输入输出流
10.5对象序列化
10.6综合案例:游戏数据的存档和读取
习题
第11章多线程
11.1线程的概念
11.2线程的创建
11.2.1继承Thread类实现多线程
11.2.2通过Runnable接口实现多线程
11.3线程的状态与调度
11.3.1线程的状态
11.3.2线程的调度
11.4线程同步与对象锁
11.4.1线程安全
11.4.2同步方法
11.4.3同步代码块
11.4.4同步锁
11.4.5死锁问题
11.4.6线程通信
11.5综合案例:多线程技术重构“飞机大战”游戏
习题
第12章数据库编程
12.1JDBC概述
12.2JDBC使用步骤
12.2.1加载驱动程序
12.2.2建立连接对象
12.2.3创建语句对象
12.2.4获取SQL语句执行结果
12.2.5关闭对象,释放资源
12.3DAO设计模式
12.4综合案例:用户管理系统
习题
第13章网络编程
13.1网络通信概述
13.2TCP通信
13.3UDP通信
13.4综合案例: 网络版用户管理系统
习题
第三部分综合应用篇
第14章综合应用:网络版“飞机大战”
习题
参考文献
本书特色
(1) 引导读者使用面向对象的思维去思考问题和解决问题。“模拟电子屏”是一个小而美的游戏引擎,采用面向对象的思维方式设计完成,扩展性较强,通过它可以完成很多有趣的游戏。在完成较多游戏之后,读者会发现游戏之间的共性问题,逐步学会使用面向对象的思维去设计程序,提高程序的复用性和可扩展性。
(2) 以项目式游戏开发的实战案例,驱动Java语言编程的学习。本书的项目采用“小步快跑,快速迭代”的互联网产品设计方法,将一个功能简单的小项目,逐步迭代成一个复杂的系统。在此过程中,读者可以直观地感受到软件设计的魅力和乐趣,并从中学习到软件设计的思想和方法。
(3) 语言简洁、案例实用、体例清晰、配套资源丰富,对初学者友好。本书语言通俗易懂、简洁明了; 对Java 8~Java 19中重要的新特性进行讲解,涉及了Lambda表达式和接口的新特性等内容; 案例实用性强,符合企业用人实际需求; 结构层次分明,各章相互关联、逐步递进,便于读者自学或高校选作教材使用。
配套资源
为了便于教与学,本书配有微课视频(700分钟)、源代码、教学课件、教学大纲、教案、题库。
读者对象
本书既可作为高等学校“Java语言程序设计”课程的教材,也可以作为编程爱好者的自学辅导书。读者对象包括零基础的初学者; 具有一定基础,但是缺乏项目经验的读者; 想从事Java语言软件开发相关工作的读者。