Java基础案例教程(第2版)

Java程序设计
分享 推荐 19 收藏 339 阅读 100.8K
黑马程序员 (作者) 978-7-115-54747-7

关于本书的内容有任何问题,请联系 范博涛

1.黑马程序员系列教材改版。
2.本书在保留了原有风格的基础上,内容做了大量更新,包括采用最新的IntelliJ IDEA开发工具,在GUI知识章节重点介绍轻量级的Java Swing组件,新增了反射的相关知识,新增了更多阶段案例,突出培养读者的实践能力。
3.配套丰富的教学资源,包括配套视频、源代码、题库、教学课件等。

内容摘要

本书是Java入门书籍,适合初学者使用。全书共13章,第1章主要讲解Java的特点与发展史、JDK的使用、Java程序的编写与运行机制、Java开发环境的搭建等;第2~6章主要讲解Java编程基础知识,包括Java基本语法、面向对象、Java API和集合;第7~12章主要讲解Java进阶知识,包括I/O、多线程、网络编程、JDBC、GUI、Java反射机制;第13章带领读者开发一个综合项目——基于Java Swing的图书管理系统,读者能够融会贯通所学知识,并了解实际项目开发流程。
本书附有配套视频、源代码、题库、教学课件等资源,并提供了在线答疑,希望帮助读者更好地学习。
本书可作为高等教育本、专科院校计算机相关专业的教材,也可作为编程爱好者的参考书。

目录

目录

第 1章 Java开发入门 1
1.1 Java概述 1
1.1.1 什么是Java 1
1.1.2 Java语言的特点 2
1.1.3 Java语言的发展史 2
1.2 JDK的使用 3
1.2.1 安装JDK 3
1.2.2 JDK目录介绍 4
1.3 Java程序的开发 5
1.4 系统环境变量 7
1.4.1 path环境变量 7
1.4.2 classpath环境变量 9
1.5 Java程序运行机制 10
1.6 Eclipse开发工具 10
1.6.1 Eclipse概述 11
1.6.2 Eclipse的下载与启动 11
1.6.3 使用Eclipse进行程序开发 13
1.6.4 Eclipse调试工具 17
1.7 IntelliJ IDEA开发工具 18
1.7.1 IDEA概述 19
1.7.2 IDEA的安装与启动 19
1.7.3 使用IDEA进行程序开发 21
1.7.4 IDEA调试工具 22
1.8 本章小结 23
1.9 本章习题 23
第 2章 Java编程基础 24
2.1 Java基本语法 24
2.1.1 Java程序的基本格式 24
2.1.2 Java中的注释 25
2.1.3 Java中的标识符 25
2.1.4 Java中的关键字 26
2.1.5 Java中的常量 27
2.2 Java中的变量 28
2.2.1 变量的定义 28
2.2.2 变量的数据类型 29
2.2.3 变量的类型转换 30
2.2.4 变量的作用域 32
2.3 Java中的运算符 33
2.3.1 算术运算符 33
2.3.2 赋值运算符 34
2.3.3 比较运算符 35
2.3.4 逻辑运算符 36
2.3.5 运算符的优先级 37
【案例2-1】 商品入库 38
2.4 选择结构语句 38
2.4.1 if条件语句 38
2.4.2 三元运算符 41
2.4.3 switch条件语句 42
【案例2-2】 小明都可以买什么 44
2.5 循环结构语句 44
2.5.1 while循环语句 44
2.5.2 do...while循环语句 45
2.5.3 for循环语句 46
2.5.4 循环嵌套 47
2.5.5 跳转语句(break、continue) 48
【案例2-3】 超市购物程序设计 50
【案例2-4】 为新员工分配部门 50
【案例2-5】 剪刀石头布 50
2.6 方法 50
2.6.1 什么是方法 50
2.6.2 方法的重载 52
2.7 数组 53
2.7.1 数组的定义 53
2.7.2 数组的常见操作 56
2.7.3 二维数组 59
【案例2-6】 登录注册 60
【案例2-7】 抽取幸运观众 60
2.8 本章小结 61
2.9 本章习题 61
第3章 面向对象(上) 62
3.1 面向对象的思想 62
3.2 类与对象 63
3.2.1 类的定义 63
3.2.2 对象的创建与使用 64
3.2.3 对象的引用传递 66
3.2.4 访问控制 67
3.3 封装性 68
3.3.1 为什么要封装 68
3.3.2 如何实现封装 69
【案例3-1】 基于控制台的购书系统 70
3.4 构造方法 70
3.4.1 定义构造方法 70
3.4.2 构造方法的重载 71
【案例3-2】 银行存取款 73
【案例3-3】 查看手机配置与功能 73
3.5 this关键字 73
3.5.1 使用this关键字调用本类中的
属性 73
3.5.2 使用this关键字调用成员方法 74
3.5.3 使用this关键字调用本类的
构造方法 74
3.6 代码块 75
3.6.1 普通代码块 75
3.6.2 构造块 76
3.7 static关键字 76
3.7.1 静态属性 77
3.7.2 静态方法 78
3.7.3 静态代码块 79
【案例3-4】 学生投票系统 80
3.8 本章小结 80
3.9 本章习题 80
第4章 面向对象(下) 81
4.1 类的继承 81
4.1.1 继承的概念 81
4.1.2 方法的重写 83
4.1.3 super关键字 85
4.2 final关键字 87
4.2.1 final关键字修饰类 87
4.2.2 final关键字修饰方法 88
4.2.3 final关键字修饰变量 88
4.3 抽象类和接口 89
4.3.1 抽象类 89
4.3.2 接口 90
【案例4-1】 打印不同的图形 93
【案例4-2】 饲养员喂养动物 93
【案例4-3】 多彩的声音 93
【案例4-4】 学生和老师 93
【案例4-5】 图形的面积与周长计算
程序 93
【案例4-6】 研究生薪资管理 93
4.4 多态 94
4.4.1 多态概述 94
4.4.2 对象类型的转换 95
4.4.3 instanceof关键字 96
【案例4-7】 经理与员工工资案例 97
【案例4-8】 模拟物流快递系统程序
设计 97
4.5 Object类 97
4.6 内部类 98
4.6.1 成员内部类 98
4.6.2 局部内部类 99
4.6.3 静态内部类 100
4.6.4 匿名内部类 101
4.7 异常(Exception) 101
4.7.1 什么是异常 101
4.7.2 try…catch和finally 103
4.7.3 throws关键字 104
4.7.4 编译时异常与运行时异常 106
4.7.5 自定义异常 106
4.8 本章小结 107
4.9 本章习题 107
第5章 Java API 108
5.1 字符串类 108
5.1.1 String类的初始化 108
5.1.2 String类的常见操作 109
5.1.3 StringBuffer类 113
5.1.4 StringBuilder类 115
【案例5-1】 模拟订单号生成 116
【案例5-2】 模拟默认密码自动生成 117
【案例5-3】 模拟用户登录 117
5.2 System类与Runtime类 117
5.2.1 System类 117
5.2.2 Runtime类 120
5.3 Math类与Random类 122
5.3.1 Math类 122
5.3.2 Random类 123
【案例5-4】 将字符串转换为二进制 125
5.4 日期时间类 125
5.4.1 Instant类 126
5.4.2 LocalDate类 127
5.4.3 LocalTime类与
LocalDateTime类 129
5.4.4 Period和Duration类 130
【案例5-5】 二月天 131
5.5 包装类 131
5.6 正则表达式 133
5.6.1 元字符 133
5.6.2 Pattern类和Matcher类 134
5.6.3 String类对正则表达式的支持 136
5.7 本章小结 137
5.8 本章习题 137
第6章 集合 138
6.1 集合概述 138
6.2 Collection接口 139
6.3 List接口 139
6.3.1 List接口简介 139
6.3.2 ArrayList集合 140
6.3.3 LinkedList集合 141
6.3.4 Iterator接口 143
6.3.5 foreach循环 145
【案例6-1】 库存管理系统 146
【案例6-2】 学生管理系统 146
6.4 Set接口 146
6.4.1 Set接口简介 146
6.4.2 HashSet集合 147
6.4.3 TreeSet集合 149
【案例6-3】 模拟用户注册 151
6.5 Map接口 151
6.5.1 Map接口简介 151
6.5.2 HashMap集合 152
6.5.3 TreeMap集合 155
6.5.4 Properties集合 156
【案例6-4】 斗地主洗牌发牌 157
【案例6-5】 模拟百度翻译 157
6.6 泛型 157
6.6.1 泛型概述 157
6.6.2 泛型类和泛型对象 158
6.6.3 泛型方法 159
6.6.4 泛型接口 160
6.6.5 类型通配符 161
6.7 JDK 8新特性—Lambda
表达式 162
6.8 本章小结 163
6.9 本章习题 163
第7章 I/O(输入/输出) 164
7.1 File类 164
7.1.1 创建File对象 164
7.1.2 File类的常用方法 165
7.1.3 遍历目录下的文件 167
7.1.4 删除文件及目录 169
【案例7-1】 批量操作文件管理器 170
7.2 字节流 170
7.2.1 字节流的概念 170
7.2.2 InputStream读文件 172
7.2.3 OutputStream写文件 173
7.2.4 文件的复制 175
7.2.5 字节缓冲流 176
【案例7-2】 商城进货交易记录 177

【案例7-3】 日记本 177
7.3 字符流 177
7.3.1 字符流定义及基本用法 177
7.3.2 字符流操作文件 178
7.3.3 转换流 180
【案例7-4】 升级版日记本 181
【案例7-5】 微信投票 181
7.4 本章小结 181
7.5 本章习题 181
第8章 多线程 182
8.1 线程概述 182
8.1.1 进程 182
8.1.2 线程 183
8.2 线程的创建 183
8.2.1 继承Thread类创建多线程 183
8.2.2 实现Runnable接口创建
多线程 185
8.2.3 两种实现多线程方式的对比分析 186
8.3 线程的生命周期及状态转换 188
8.4 线程的调度 189
8.4.1 线程的优先级 189
8.4.2 线程休眠 190
【案例8-1】 龟兔赛跑 191
8.4.3 线程让步 192
8.4.4 线程插队 192
【案例8-2】 Svip优先办理服务 193
8.5 多线程同步 193
8.5.1 线程安全问题 193
8.5.2 同步代码块 194
8.5.3 同步方法 195
8.5.4 死锁问题 197
【案例8-3】 模拟银行存取钱 198
【案例8-4】 工人搬砖 198
【案例8-5】 小朋友就餐 198
8.6 本章小结 198
8.7 本章习题 198

第9章 网络编程 199
9.1 网络通信协议 199
9.1.1 IP地址和端口号 200
9.1.2 InetAddress 201
9.1.3 UDP与TCP 201
9.2 UDP通信 202
9.2.1 DatagramPacket 203
9.2.2 DatagramSocket 203
9.2.3 UDP网络程序 204
9.2.4 多线程的UDP网络程序 206
【案例9-1】 模拟微信聊天 207
9.3 TCP通信 207
9.3.1 ServerSocket 207
9.3.2 Socket 208
9.3.3 简单的TCP网络程序 209
9.3.4 多线程的TCP网络程序 211
【案例9-2】 字符串反转 212
【案例9-3】 上传文件 212
9.4 本章小结 212
9.5 本章习题 212
第 10章 JDBC 213
10.1 什么是JDBC 213
10.2 JDBC常用API 214
10.3 实现JDBC程序 216
10.4 本章小结 220
10.5 本章习题 220
第 11章 GUI(图形用户界面) 221
11.1 Swing概述 221
11.2 Swing顶级容器 222
11.2.1 JFrame 222
11.2.2 JDialog 223
11.3 布局管理器 225
11.3.1 FlowLayout 225
11.3.2 BorderLayout 227
11.3.3 GridLayout 228
11.3.4 GridBagLayout 229
11.4 事件处理机制 231
11.4.1 事件处理机制 231
11.4.2 Swing常用事件处理 232
11.5 Swing常用组件 236
11.5.1 面板组件 236
11.5.2 文本组件 238
11.5.3 标签组件 240
11.5.4 按钮组件 241
11.5.5 下拉框组件 245
【案例11-1】 简易记事本 249
【案例11-2】 简易计算器 249
【案例11-3】 模拟QQ登录 250
11.6 本章小结 250
11.7 本章习题 250
第 12章 Java反射机制 251
12.1 反射概述 251
12.2 认识Class类 251
12.3 Class类的使用 253
12.3.1 通过无参构造实例化对象 253
12.3.2 通过有参构造实例化对象 255
12.4 反射的应用 256
12.4.1 获取所实现的全部接口 256
12.4.2 获取全部方法 257
12.4.3 获取全部属性 258
【案例12-1】 重写toString()方法 260
【案例12-2】 速度计算 260
【案例12-3】 利用反射实现通过读取
配置文件对类进行
实例化 260
12.5 本章小结 260
12.6 本章习题 260
第 13章 基于Java Swing的图书
管理系统 261
13.1 项目概述 261
13.1.1 需求分析 261
13.1.2 功能结构 262
13.1.3 项目预览 262
13.2 数据库设计 263
13.2.1 E-R图设计 263
13.2.2 数据表结构 264
13.3 项目环境搭建 265
13.4 实体类设计 266
13.5 工具类设计 269
13.6 用户注册和登录模块 270
13.6.1 实现用户注册功能 270
13.6.2 实现用户登录功能 273
13.7 图书借还模块 275
13.7.1 实现用户借书功能 275
13.7.2 实现用户还书功能 278
13.8 书籍管理模块 281
13.8.1 实现书籍添加功能 281
13.8.2 实现书籍信息修改功能 283
13.9 用户管理模块 287
13.9.1 实现用户信息修改功能 287
13.9.2 实现借阅信息查询功能 290
13.10 类别管理模块 291
13.11 本章小结 291

读者评论

赶紧抢沙发哦!

我要评论

作者介绍

黑马程序员,传智播客旗下高端IT教育品牌,它是由中国Java培训先行者张孝祥老师发起,联合全球最大的中文IT社区CSDN、中关村软件园共同创办的一家专业教育机构。办学至今,我们一直坚守着“为千万人少走弯路而著书,为中华软件之崛起而讲课”的办学理念,坚持培养优秀软件应用工程师的宏伟目标,在累计培养的十万余名学员中,其中90%的学员均已在北、上、广等一线城市高薪就业。

购买本书用户

相关图书

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