Java程序设计基础教程(慕课版)

基础知识任务+每章实战案例+综合设计实例+综合实战,精讲基础知识、行业应用、操作过程
分享 推荐 0 收藏 11 阅读 1.2K
刘刚 (作者)

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

精讲视频,详细讲解基础知识、行业应用、案例操作过程
一线项目研发、设计、管理工程师+极客学院、北风网金牌讲师详细讲解实战应用
任务案例边学边练,全面涵盖知识点
基础知识任务+每章实战案例+综合设计实例+综合实战,4步从零基础到JS达人
平台支撑,免费赠送资源
1.全部案例源代码、素材、最终文件
2.全书电子教案
3.人邮学院高清精讲视频课程
视频可扫书中二维码移动观看,也可以登录人邮学院(www.rymooc.com),注册登录后使用封底刮刮卡激活课程,在线观看。案例代码等资源可登陆人邮教育社区(www.ryjiaoyu.com.cn)或根据书中网盘地址下载使用。

内容摘要

本书通过大量案例详细讲解了Java程序设计的基础知识,共12章,内容包括:Java基础知识,基本类型及运算符,控制执行流程,字符串,面向对象,集合和数组,文件及流,日期和时间,反射、异常及枚举,并发编程,网络编程及综合实训——简易网上自助银行系统。本书运用图、文、视频配合讲解,浅显易懂,代码注释详细,配全套慕课视频,资源丰富,贴近行业应用。
本书适合作为本科、高职高专、培训班Java基础课程的教材,也可供读者自学使用。

目录

第 1章 Java基础知识 1
1.1 Java简介 2
1.1.1 Java的诞生及发展历程 2
1.1.2 Java的语言特点 2
1.2 Java开发环境搭建 3
1.2.1 JDK、JRE与JVM 3
1.2.2 系统环境变量配置 4
1.3 Java开发工具的使用 11
1.3.1 Java比较流行的编辑工具简介 12
1.3.2 Eclipse的安装及使用 13
1.4 动手任务:使用Eclipse编写Hello World程序 14
1.5 动手任务:创建一个Java项目 18
1.6 本章小结 18
第 2章 基本数据类型及运算符 20
2.1 基本数据类型 21
2.1.1 基本数据类型分类 21
2.1.2 基本数据类型的拆装箱 22
案例2-1 常量和变量 23
案例2-2 基本数据类型的拆装箱 23
案例2-3 获取基本数据类型的范围值 24
案例2-4 包装类的转换方法 25
2.1.3 拓展:Integer的parse()和valueOf()使用 25
2.2 运算符 26
2.2.1 算术运算符 26
案例2-5 加减运算 27
案例2-6 乘除法运算 28
案例2-7 取余运算 28
案例2-8 自增自减 29
2.2.2 关系运算符和逻辑运算符 29
案例2-9 逻辑与运算与逻辑或运算 31
2.2.3 赋值运算符与条件运算符 32
2.2.4 运算符的优先级 33
案例2-10 二目运算求值顺序 34
2.3 动手任务:IP地址转换程序设计 35
2.4 本章小结 37
第3章 控制执行流程 38
3.1 选择结构语句 39
3.1.1 if条件语句 39
案例3-1 if-else初探 39
案例3-2 if-else嵌套语句 40
3.1.2 switch条件语句 40
案例3-3 switch实现阿拉伯数字转中文大写数字 41
案例3-4 当前月份距元旦天数 41
3.2 循环结构语句 42
3.2.1 while循环语句 42
案例3-5 循环输出1~10 42
3.2.2 do-while循环语句 43
案例3-6 while和do-while 43
3.2.3 for循环语句 44
案例3-7 for循环的使用 44
案例3-8 多变量for语句 45
3.2.4 break与continue 45
案例3-9 break和continue 45
3.3 动手任务:冒泡排序 46
案例3-10 数组冒泡排序 47
3.4 本章小结 48
第4章 字符串 49
4.1 String类及其常用API 50
案例4-1 字符串的初始化 50
4.1.1 字符串常量池 51
案例4-2 字符串不同创建方式耗时比较 51
4.1.2 字符串常用API 52
案例4-3 字符串非空判断与长度返回 53
案例4-4 字符串的查询操作 54
案例4-5 字符串的修改操作 55
案例4-6 字符串的分割操作 56
案例4-7 字符串的比较操作 57
4.1.3 拓展:不变的字符串 57
4.2 StringBuffer类 59
4.2.1 StringBuffer的应用 59
案例4-8 StringBuffer的字符串拼接插入 59
案例4-9 StringBuffer的常用操作方法 60
4.2.2 StringBuilder与StringBuffer的比较 61
案例4-10 StringBuilder的常用方法 61
4.3 常用的JavaAPI 62
4.3.1 System类 62
案例4-11 系统环境变量 62
案例4-12 系统当前时间 63
案例4-13 数组拷贝 64
4.3.2 Random类与Math类 64
案例4-14 Random随机生成随机数 64
案例4-15 数学类 66
4.4 动手任务:猜数字游戏 66
案例4-16 Scanner初识 67
案例4-17 猜数字游戏 68
4.5 本章小结 69
第5章 面向对象 70
5.1 面向对象概念 71
5.2 类的概念 72
5.2.1 什么是类 72
5.2.2 类的使用 72
案例5-1 类的声明 73
案例5-2 类的使用 74
案例5-3 方法调用及返回值 75
5.3 封装 76
案例5-4 方法封装 76
案例5-5 属性封装 77
5.4 继承 79
案例5-6 鱼的继承 80
案例5-7 抽象类的定义和使用 83
案例5-8 接口的使用 84
5.5 多态 86
5.5.1 多态的概念 86
5.5.2 重写与重载 87
案例5-9 方法的重载 87
案例5-10 方法的重写 88
5.5.3 内部类 89
案例5-11 内部类的创建及使用 89
案例5-12 嵌入类 91
案例5-13 内部成员类 92
案例5-14 本地类 93
案例5-15 内部类的相互访问 94
5.5.4 拓展:Object类 97
5.6 动手任务:多态的强大——间谍的变身技能 97
5.7 本章小结 100
第6章 集合和数组 102
6.1 集合初探 103
6.1.1 Collection 103
6.1.2 Map集合 104
案例6-1 Map的使用 104
案例6-2 HashMap及TreeMap的使用 106
6.1.3 List链表 107
案例6-3 顺序表 108
案例6-4 链表操作 111
6.1.4 Set集合 112
案例6-5 计算出现的次数 112
6.2 集合的遍历 113
6.2.1 Iterator接口 113
案例6-6 集合的迭代 113
6.2.2 增强型for循环 115
案例6-7 增强型for循环 115
6.3 动手任务:三人斗地主——洗牌发牌程序 116
6.4 数组 119
6.4.1 数组的定义及初始化 120
6.4.2 数组的使用 120
案例6-8 一维数组的使用 120
案例6-9 二维数组 122
6.5 动手任务: 数组排序 122
6.6 本章小结 125
第7章 文件及流 126
7.1 File类 127
7.1.1 File的常用API 127
案例7-1 文件的创建 127
案例7-2 文件的固有属性 128
案例7-3 文件的可变属性 129
7.1.2 目录文件遍历 130
案例7-4 获取子文件列表和目录 130
案例7-5 获取目录下的所有文本文件并打印输出 131
案例7-6 删除文件夹 132
7.2 输入输出流 133
7.2.1 输入输出流概念 134
7.2.2 字节流 134
案例7-7 文件输入输出流 135
案例7-8 文件的复制 137
案例7-9 RandomAccessFile操作文件 138
7.2.3 字符流 139
案例7-10 使用缓存字符流读取和写入数据 139
7.3 动手任务:文件系统 140
7.4 本章小结 146
第8章 日期和时间 147
8.1 Date类 148
8.1.1 计算机的时间 148
案例8-1 当前时间与计算机元年 148
8.1.2 Date类的应用 148
案例8-2 Date类的使用 149
8.2 Calendar类 149
8.2.1 什么是日历类型 149
8.2.2 日历类型的计算 149
案例8-3 日期的计算 149
案例8-4 万年历 151
8.3 动手任务:超市过期提醒及促销活动 152
8.4 本章小结 153
第9章 反射、异常及枚举 154
9.1 反射 155
9.1.1 什么是反射 155
案例9-1 类型自动识别 155
案例9-2 利用Class创建类对象 156
案例9-3 通过类名获取类信息 157
案例9-4 instanceof获取类型信息 158
案例9-5 Java的String类的反射 159
9.1.2 反射的应用 160
案例9-6 获取类的构造方法 160
案例9-7 使用反射创建一个类的
对象 161
案例9-8 获取类中的成员属性 162
案例9-9 改变成员变量的值 163
案例9-10 获取类的方法 164
案例9-11 执行类的方法 165
9.2 异常 167
9.2.1 概念 167
9.2.2 基本异常 168
案例9-12 数组下标越界异常 168
案例9-13 异常的捕获顺序 168
案例9-14 finally语句块 169
案例9-15 异常抛出 170
9.2.3 自定义异常 171
案例9-16 自定义异常 171
9.2.4 拓展:Error及Runtime
Exception 172
9.3 枚举 172
案例9-17 枚举的简单使用 173
案例9-18 向enum中添加新方法 173
案例9-19 Enum实现接口 174
9.4 动手任务:复制对象属性 175
9.5 本章小结 179
第 10章 并发编程 181
10.1 线程与进程 182
10.2 线程的创建 182
10.2.1 继承Thread类 182
案例10-1 Thread实现多线程 184
案例10-2 Thread的部分方法使用 185
案例10-3 start方法和run方法 185
10.2.2 实现Runnable接口 187
案例10-4 Runnable实现多线程 187
10.3 线程的调度 187
10.3.1 线程的生命周期 187
10.3.2 线程的优先级 188
案例10-5 线程优先级 188
10.3.3 线程插队 189
案例10-6 线程插队 190
10.3.4 线程休眠 191
案例10-7 线程休眠 191
10.3.5 同步与互斥 193
案例10-8 非同步接水 193
案例10-9 同步接水 194
案例10-10 线程互斥的计数器 195
案例10-11 生产者-消费者模型 195
10.3.6 死锁问题 197
案例10-12 线程死锁 198
10.4 多线程 199
10.4.1 线程池技术 199
案例10-13 缓存线程池 199
案例10-14 计划任务线程池 200
10.4.2 Callable和Future 200
案例10-15 Callable的用法 201
案例10-16 Future的用法 201
10.5 动手任务:多线程获取文件大小 202
10.6 本章小结 205
第 11章 网络编程 206
11.1 网络通信协议 207
11.1.1 TCP及UDP协议 207
案例11-1 URL和URLConnection的使用 207
11.1.2 IP地址及端口号 208
案例11-2 IP类的使用 208
11.2 TCP通信 209
11.2.1 Socket 209
11.2.2 ServerSocket 209
案例11-3 端到端通信 210
11.3 UDP通信 211
11.3.1 DatagramPacket 211
11.3.2 DatagramSocket 212
案例11-4 UDP通信模型 213
11.4 动手任务:通信程序设计(对点聊天室) 214
11.5 本章小结 218
第 12章 综合实训——简易网上自助银行系统 219
12.1 JDBC 220
12.1.1 JDBC的概念 220
12.1.2 JDBC通用API 221
案例12-1 DriverManager的使用 222
案例12-2 Statement的使用 224
案例12-3 PreparedStatement和ResultSet的使用 226
12.2 日志 228
12.3 测试 228
12.3.1 JUnit简介 228
12.3.2 功能测试及断言 229
案例12-4 简单的JUnit测试案例 229
案例12-5 JUnit的注解 230
12.4 事务 232
案例12-6 本地事务 233
12.5 简易网上银行系统 238
12.5.1 基础项目搭建 238
12.5.2 账户注册及登录 255
12.5.3 转账功能(事务) 260
12.6 本章小结 264

读者评论

赶紧抢沙发哦!

我要评论

作者介绍

刘刚,一线项目研发、设计、管理工程师,高级项目管理师、项目监理师,负责纪检监察廉政监督监管平台、国家邮政局项目、政务大数据等多个国家级项目的设计与开发。
极客学院、北风网金牌讲师。
畅销书《微信小程序开发图解案例教程(附精讲视频)》《小程序实战视频课:微信小程序开发全案精讲》《Axure RP8原型设计图解微课视频教程 (Web+App)》作者。
全部案例源代码、素材、最终文件、电子教案可登录人邮教育社区(www.ryjiaoyu.com.cn)下载使用。

购买本书用户

相关图书