Java程序设计入门与实战(微课版)

为零基础的读者编写的通俗易懂、实战引领的入门Java书
分享 推荐 1 收藏 21 阅读 3.8K
张毅恒 (作者) 978-7-115-56601-0

关于本书的内容有任何问题,请联系 张斌

本书是粤嵌公司策划并组织编写的产学合作协同育人系列教材之一,实践性较强,涵盖了高校相关专业方向的主要课程。本书作者具有企业开发实战经验和行业培训的经验,也为高校学生讲授相关的课程,理论结合实践。

内容摘要

本书主要以零基础的读者为对象进行讲解,图文并茂、案例充足并提供课后习题,帮助读者循序渐进地学习Java语言编程的知识,从而提升自身的实际开发能力。全书分为基础篇、高级篇、数据结构与算法篇、实战篇,共11章,内容主要包括Java环境搭建、Java变量命名规范、Java中的数据类型、流程控制语句、继承、多态、类与方法、Java面向对象高级特征、面向对象常用类、异常处理、Lambda表达式、泛型、栈、堆、链表、树、查找算法、排序算法、递归算法,以及五子棋对战项目等。
本书通俗易懂,内容由浅入深,可以作为高等院校及相关培训机构Java编程语言课程的教材,也可作为Java初学者、爱好者的入门书。

前言

  Java是目前世界上非常流行的编程语言,用户上网都会使用到用Java开发的程序。目前全球拥有较多Java开发者,并且随着Web技术的发展,世界上Java开发人员的需求量还会增加。
  目前基本上所有的本科、高职高专院校的计算机相关专业都开设了Java程序设计这门课程。作为一门注重实践的课程,需要学生更多地动手上机编程。本书以培养读者动手能力为目的,提供大量程序清单,讲解相应的原理,并且第1~10章配有对应的习题,以帮助读者掌握编程技术,并应用相应的知识点来解决实际的技术问题。
本书内容
  本书介绍Java入门到实践所需要的基本知识点,分为4篇,大体的结构如下。
  第1篇:基础篇(第1~6章)。本篇主要阐述Java的发展史,介绍开发环境和一些计算机的基本原理,还讲解Java的变量命名规范以及基本语法,Java中的各类数据类型,流程控制语句,面向对象的思想,对继承、多态、类与方法的深入理解等内容。目的是使读者快速掌握环境的搭建和选择顺手的编译工具,掌握基本的语法规则,理解类、对象和面向对象的基本特征,理解面向对象与面向过程的异同,并为项目的开发打下必要的基础。
  第2篇:高级篇(第7~8章)。本篇主要介绍如何捕获异常和异常的处理,以及Lambda表达式的基本使用方式和操作。目的是使读者掌握如何使用异常使得代码更加稳健和具有可读性,并掌握一种编写函数的快捷和简易的方法。
  第3篇:数据结构与算法篇(第9~10章)。本篇介绍常用的数据结构与算法,包括栈、堆、链表、树、查找算法、排序算法和递归算法等。通过对本篇的学习,读者将可以对一些较复杂的数据进行整理和归类,并根据项目实际场景选择合适的算法对数据进行快速的搜索和排序。
  第4篇:实战篇(第11章)。本篇详细介绍如何开发一个五子棋对战项目。通过对本篇的学习,读者将能完成一个锻炼思维的项目。
本书特点
* 图文并茂,由浅入深。本书以学习Java语言编程的初学者为主要读者对象。首先,从Java语言基础讲起,生动、详细地讲解各个知识点;然后,讲解Java语言的面向对象、异常处理、Lambda表达式、泛型等核心内容;最后,讲解Java语言中的数据结构、算法等高级技术,以及实战项目。本书的讲解图文并茂,读者在学习时可一目了然,能更快速地掌握本书内容。  
* 案例充足,突出实践。动手实践是学习编程最有效的方式之一。本书中的知识点大都以案例进行讲解,案例代码完善、注释齐全。读者在动手操作的过程中可以进一步加强对知识点和代码的理解。
* 贴身辅导,同步讲解。本书为一些关键的核心知识点提供了微课视频,读者可以通过扫描二维码,随时观看相关的教学视频。
* 习题丰富,巩固知识。本书第1~10章包含丰富的课后习题,对本章所讲内容进行全面的整理。习题的题型多样,包括选择题、填空题、编程题等,使读者可以进一步提高动手能力和思考能力。
致读者
  感谢在粤嵌参与Java课程学习的学生,他们在学习过程中与编者展开了很多讨论,这些讨论帮助编者解决了很多重要的问题。感谢参与授课工作的陈志凌老师和叶文强老师,他们对本书的内容和编排都提出了很好的建议;感谢广东工商职业技术大学的郑志材老师和张国明老师,感谢广州东华职业学院的李纲老师、陈清雨老师,他们对本书在高校的推广给出了很多优化的意见;感谢粤嵌公司的各位领导,他们为本书的编写提供了优秀的平台和大量的资源,使本书得以完成。最后,希望得到读者的意见和反馈,在此表示感谢。

目录

 
第1篇 基 础 篇

第1章 搭建Java开发环境 2
 1.1 Java概述 2
1.1.1 Java语言的产生 2
1.1.2 Java语言的发展 3
 1.2 Java语言的特点 5
1.2.1 面向对象 5
1.2.2 可移植性 5
1.2.3 稳健性和安全性 5
1.2.4 多线程和动态性 5
 1.3 Java程序工作原理 6
1.3.1 编译型语言与解释型语言 6
1.3.2 Java程序执行机制 6
 1.4 搭建JDK环境 6
 1.5 配置环境变量 9
 1.6 “第一个”Java程序 11
 1.7 集成开发环境Eclipse 12
 1.8 习题 16
第2章 Java基本程序设计结构 17
 2.1 注释 18
2.1.1 单行注释 18
2.1.2 多行注释 18
2.1.3 文档注释 18
 2.2 标识符 20
 2.3 关键字 20
2.3.1 类和接口的关键字 21
2.3.2 数据类型的关键字 21
2.3.3 流程控制的关键字 22
2.3.4 类成员访问权限的关键字 22
2.3.5 类实例的关键字 22
2.3.6 异常处理相关的关键字 23
2.3.7 其他关键字 23
 2.4 数据类型 23
2.4.1 Java的基本数据类型 24
2.4.2 Java数据类型的转换 25
 2.5 变量 26
 2.6 常量 28
 2.7 运算符 29
2.7.1 算术运算符 29
2.7.2 赋值运算符 30
2.7.3 关系运算符 30
2.7.4 逻辑运算符 30
2.7.5 位运算符 30
2.7.6 位移运算符 31
2.7.7 其他运算符 31
2.7.8 运算符的优先级 31
 2.8 流程控制结构 32
2.8.1 分支结构 32
2.8.2 循环结构 35
 2.9 数组 41
2.9.1 数组的声明 41
2.9.2 数组的初始化 41
2.9.3 数组的访问 42
2.9.4 数组的遍历 43
2.9.5 二维数组 44
 2.10 习题 45
第3章 Java面向对象入门 48
 3.1 面向对象思想 48
 3.2 类与对象 50
 3.3 属性 51
 3.4 方法 52
 3.5 方法重载 54
 3.6 构造器 55
3.6.1 构造器重载 56
3.6.2 默认构造器 56
 3.7 初始化块 57
3.7.1 普通初始化块 57
3.7.2 静态初始化块 59
 3.8 内部类 60
3.8.1 成员内部类 60
3.8.2 局部内部类 61
3.8.3 静态内部类 61
3.8.4 匿名内部类 62
 3.9 this的使用 64
3.9.1 引用当前类的属性 64
3.9.2 返回类自身的引用 65
3.9.3 调用构造器 65
3.9.4 用作方法的参数 66
 3.10 链式调用 67
 3.11 习题 68
第4章 Java面向对象三大特征 71
 4.1 封装 71
4.1.1 private、protected、public、默认 72
4.1.2 package和import 73
 4.2 继承 75
4.2.1 继承的定义 76
4.2.2 方法的重写 78
4.2.3 super关键字的使用 80
4.2.4 方法调用的优先级 83
 4.3 多态 85
4.3.1 多态的定义 85
4.3.2 多态的特征 87
4.3.3 instanceof的使用 89
4.3.4 静态绑定和动态绑定 92
 4.4 习题 93
第5章 Java面向对象高级特征 96
 5.1 toString()方法 96
 5.2 equals()方法 98
 5.3 static关键字 101
 5.4 final关键字 101
5.4.1 final类 101
5.4.2 final方法 102
5.4.3 final属性 103
5.4.4 final参数 104
5.4.5 final变量 104
5.4.6 同时使用static和final 105
 5.5 抽象 106
 5.6 接口 108
5.6.1 接口的定义 108
5.6.2 接口的实现 109
5.6.3 一个类实现多个接口 109
5.6.4 一个接口继承多个接口 111
 5.7 方法回调 112
 5.8 单例 113
5.8.1 懒汉式单例 113
5.8.2 饿汉式单例 114
 5.9 习题 115
第6章 Java面向对象常用类 119
 6.1 数组与Arrays类 120
 6.2 Object类 120
 6.3 基本数据类型的包装类 121
6.3.1 基本数据类型与包装类的转换 121
6.3.2 基本数据类型与字符串类型的转换 122
 6.4 Math类 122
6.4.1 无理数的写法 122
6.4.2 三角函数的方法 122
6.4.3 取整运算的方法 123
6.4.4 乘方、开方、对数的方法 123
6.4.5 其他方法 123
 6.5 日期和时间相关的类 123
6.5.1 Date类 124
6.5.2 Calendar类 125
6.5.3 SimpleDateFormat类 127
 6.6 字符串操作相关的类 128
6.6.1 String类 129
6.6.2 字节数组、字符数组与字符串的转换 130
6.6.3 StringBuilder和StringBuffer类 131
 6.7 随机类 132
 6.8 正则表达式 133
6.8.1 Pattern与Matcher类 133
6.8.2 元字符 134
6.8.3 提取匹配的关键字 136
6.8.4 正则字符串操作 137
 6.9 习题 137
 
第2篇 高 级 篇
 
第7章 异常处理 142
 7.1 异常概述 142
 7.2 异常处理相关语法 143
7.2.1 try和catch代码块 143
7.2.2 多个catch代码块 143
7.2.3 错误和异常 145
7.2.4 Exception类 145
7.2.5 finally代码块 146
7.2.6 throws抛出异常 147
 7.3 异常分类 149
 7.4 捕获异常 149
 7.5 抛出异常 150
 7.6 习题 152
 
第8章 Lambda表达式 156
 8.1 值参数化与行为参数化 156
8.1.1 值参数化 156
8.1.2 行为参数化 159
8.1.3 引入Lambda 161
8.1.4 值参数化与行为参数化的比较 162
 8.2 Lambda表达式概述 163
 8.3 函数式接口 164
8.3.1 基本概念 164
8.3.2 JDK 8的函数式接口 166
8.3.3 参数的类型推断 168
8.3.4 多个参数的运算 168
 8.4 Lambda表达式的其他特性 170
8.4.1 使用局部变量 170
8.4.2 方法引用 172
8.4.3 构造器引用 172
8.4.4 Lambda表达式与匿名内部类的区别 172
 8.5 习题 173
 
第3篇 数据结构与算法篇
 
第9章 数据结构 176
 9.1 数组 176
 9.2 栈 177
 9.3 队列 181
 9.4 链表 189
 9.5 树 196
 9.6 堆 203
 9.7 散列表 209
 9.8 图 212
 9.9 习题 215
第10章 算法 217
 10.1 查找算法 217
10.1.1 顺序查找法 217
10.1.2 二分查找法 218
 10.2 排序算法 220
10.2.1 冒泡排序法 221
10.2.2 选择排序法 225
10.2.3 插入排序法 228
10.2.4 希尔排序法 232
10.2.5 快速排序法 235
10.2.6 归并排序法 238
10.2.7 堆排序法 241
10.2.8 排序算法衡量指标 245
 10.3 递归算法 246
 10.4 习题 248
 
第4篇 实 战 篇
 
第11章 项目开发与实现——五子棋程序 252
 11.1 游戏说明 252
11.1.1 游戏规则 252
11.1.2 编程注意事项 252
11.1.3 计算机下棋的策略 253
 11.2 建立模型 253
 11.3 输出棋盘 254
 11.4 放置棋子 256
 11.5 计算机下棋策略 260
 11.6 读取用户下棋的坐标 261
 11.7 判断赢棋条件 263
 11.8 程序主流程 265

读者评论

赶紧抢沙发哦!

我要评论

作者介绍

张毅恒。广州粤嵌通信科技股份有限公司人工智能学科负责人。系统架构师、高级工程师。5年多研发经验,8年多技术讲师经验。曾在纳斯达克上市公司任职,负责手机与平板电脑Android系统的移植工作;曾参与车联网系统的研发,负责整个系统的架构与搭建工作。从Linux系统移植、后台服务器程序开发,到Android应用开发、H5微信小程序,到机器学习与数据分析,都有丰富的实践和教学工作经验。

推荐用户

相关图书

人邮微信
本地服务
教师服务
教师服务
读者服务
读者服务
返回顶部
返回顶部