本书从初学者的角度出发,由浅入深地讲解了Java语言的相关内容。全书共11章,主要介绍了Java开发环境的搭建及其运行机制、基本语法、面向对象编程思想、多线程、常用API、集合、I/O、网络编程等内容,采用通俗易懂的语言阐述抽象的概念,选用生活中密切相关的例子演示知识的运用,通过剖析案例、分析代码含义、解决常见问题等方式进行讲解。书中还添加了许多阶段性任务来模拟程序开发过程,帮助初学者培养良好的编程习惯。
以知识脉络为线索,以案例实践为核心,以科学话题为拓展,让学习者能在掌握基本程序设计技能的基础上,提升思维方法,开阔知识眼界。
知识点全,重点难点突出。
部分项目是企业真实项目案例。
每章有习题和上机练习,方便教师布置作业并检验学习效果。配套资源较为丰富。
王静红,博士,三级教授,专业为计算机科学与技术,河北省有突出贡献中青年专家,河北省新世纪三三三人才,河北省信息化专家委员会委员,河北省大数据学会秘书长,国际IEEE高级会员,中国人工智能学会专委会委员,石家庄市拔尖人才,石家庄市十佳青年教师,河北省人工智能学会理事,中国计算机CCF石家庄执委主持的省科技攻关项目获河北省科技进步二等奖。教学名师、学术带头人、中青年骨干教师。先后在《Pattern Recognition and Artificial Intelligence》、《Journal of Zhejiang University》、《计算机研究与发展》等国内外科技刊物发表论文50多篇,其中30余篇被SCI、EI检索收录。科研方向为大数据与数据挖掘、人工智能、模式识别、计算机应用等。
第 1章 初识Java1
1.1 Java概述 1
1.1.1 什么是Java 1
1.1.2 Java语言的特点 1
1.2 Java开发环境配置 3
1.2.1 安装JDK 3
1.2.2 JDK目录介绍 3
1.2.3 配置环境变量 4
1.3 编写第 一个Java程序 6
1.4 Java程序的运行机制 8
1.5 使用Eclipse开发工具编写Java程序 9
本章小结 13
练习题 13
上机实战 15
实战1-1 编写Java程序显示个人基本信息 15
第 2章 Java编程基础 16
2.1 Java的基本语法 16
2.1.1 Java代码的基本格式 16
2.1.2 Java中的注释 17
2.1.3 Java中的标识符 18
2.1.4 Java中的关键字 18
2.1.5 Java中的分隔符 19
2.2 常量与变量 19
2.2.1 常量 19
2.2.2 变量 20
2.2.3 基本数据类型 21
2.2.4 数据类型转换 23
2.2.5 变量的作用域 25
2.3 表达式与运算符 26
2.3.1 表达式 26
2.3.2 运算符 26
2.3.3 键盘录入 31
【任务2-1】打印超市购物清单 31
2.4 选择结构 33
2.4.1 if语句 33
2.4.2 switch语句 37
2.5 循环结构 40
2.5.1 while循环语句 40
2.5.2 do…while循环语句 41
2.5.3 for循环语句 42
2.5.4 循环嵌套 43
2.5.5 跳转语句 44
【任务2-2】猜数字游戏 45
2.6 方法 47
2.6.1 方法的概念 47
2.6.2 方法的定义 47
2.6.3 方法的调用 48
2.6.4 方法的重载 49
2.7 数组 50
2.7.1 数组的概念 50
2.7.2 数组的声明及初始化 50
2.7.3 数组的常用操作 51
2.7.4 多维数组 55
【任务2-3】统计平均分功能 55
本章小结 56
练习题 57
上机实战 58
实战2-1 铁路售票系统的余票查询功能 58
实战2-2 网站会员登录功能 58
实战2-3 课堂随机点名器 59
第3章 面向对象(上) 60
3.1 类与对象 60
3.1.1 类与对象概述 61
3.1.2 类的定义 61
3.1.3 对象的创建与使用 61
3.1.4 类和对象的使用扩展 62
3.2 成员变量与局部变量 64
3.3 构造方法 65
3.3.1 构造方法的定义 65
3.3.2 构造方法的重载 67
3.4 包 69
3.4.1 声明包 69
3.4.2 导入包 69
3.5 封装 70
3.5.1 封装的概述 71
3.5.2 类的封装 71
3.5.3 this关键字 73
【任务3-1】计算长方形的周长与面积 75
3.5.4 static关键字 77
本章小结 81
练习题 81
上机实战 84
实战3-1 定义用户类、课程类并对属性进行封装 84
实战3-2 实现WorkShop在线学习系统的主菜单 84
实战3-3 实现WorkShop在线学习系统的注册功能 85
实战3-4 实现WorkShop在线学习系统的登录功能 86
实战3-5 实现WorkShop在线学习系统的课程查询功能 86
第4章 面向对象(下) 88
4.1 类的继承 88
4.1.1 什么是继承 88
4.1.2 如何实现继承 89
4.1.3 重写父类方法 90
4.2 方法重写 91
4.3 super关键字 92
4.4 final关键字 95
4.5 抽象类和接口 96
4.5.1 抽象类 96
4.5.2 接口 97
【任务4-1】冒险者接口程序设计 99
4.6 多态 101
4.6.1 生活中的多态 101
4.6.2 Java中如何实现多态 102
4.6.3 类型转换 104
4.6.4 类型验证关键字instanceof 105
4.6.5 Object类 106
4.7 内部类 106
4.7.1 内部类的概述 107
4.7.2 内部类的分类 107
本章小结 110
练习题 110
上机实战 112
实战4-1 模拟小哥快跑快递物流系统功能 112
第5章 异常 113
5.1 异常的概述 113
5.1.1认识异常 113
5.1.2 异常的分类 115
5.2 异常的处理机制 116
5.2.1 使try-catch-finally处理异常 116
5.2.2 多重catch处理异常 118
5.2.3 throws声明异常 120
5.2.4 自定义异常 121
本章小结 123
练习题 123
上机实战 124
实战5-1 自定义成绩异常处理 124
第6章 Java API 125
6.1 String、StringBuffer和StringBuilder类 125
6.1.1 String类初始化 125
6.1.2 String类常用方法 126
6.1.3 StringBuffer类 128
6.1.4 StringBuilder类 129
6.2 System类和Runtime类 130
6.2.1 System类的常用方法 130
6.2.2 Runtime类的常用方法 131
6.3 Math类和Random类 132
6.4 处理日期的类 133
6.4.1 Date类 133
6.4.2 Calendar类 134
6.5 包装类 134
本章小结 136
练习题 136
上机实战 137
实战6-1 记录一个子串在整串中出现的次数 137
第7章 集合框架和泛型 138
7.1 认识集合框架体系 138
7.2 Collection接口 139
7.3 List接口 139
7.3.1 ArrayList集合 140
7.3.2 LinkedList集合 141
7.4 Iterator迭代器 143
7.5 泛型 144
7.6 Set接口 145
7.6.1 Set接口简介 145
7.6.2 HashSet集合 146
7.7 Map接口 149
7.7.1 Map接口简介 149
7.7.2 HashMap集合 150
7.8 Collections类 153
本章小结 156
练习题 156
上机实战 157
实战7-1 使用HashMap存储学生成绩并遍历输出 157
实战7-2 使用HashSet和ArrayList输出10个1~20随机数 157
实战7-3 存储学生信息并遍历输出 158
第8章 I/O 159
8.1 I/O流 159
8.1.1 I/O流的概述 159
8.1.2 I/O流的分类 159
8.2 字节流 159
8.2.1 字节流的概念 159
8.2.2 字节流读写文件 161
8.2.3 文件的复制 164
8.2.4 字节缓冲流 167
8.3 字符流 169
8.3.1 字符流概述 169
8.3.2 FileReader和FileWriter读写文件中的字符 170
8.3.3 字符缓冲流BufferedReader和BufferedWriter 171
8.3.4 转换流 174
8.4 File类 176
8.4.1 File类概述 176
8.4.2 File类的常用方法 176
8.4.3 File类的使用 177
本章小结 184
练习题 185
上机实战 186
实战8-1 输入课程信息存储到磁盘文件 186
实战8-2 简易文件搜索程序 187
第9章 数据库编程 189
9.1 什么是JDBC 189
9.2 JDBC常用API 190
9.2.1 Driver接口 190
9.2.2 DriverManager类 190
9.2.3 Connection接口 190
9.2.4 Statement接口 190
9.2.5 PreparedStatement接口 191
9.2.6 ResultSet接口 192
9.3 实现第 一个JDBC程序 192
9.4 PreparedStatement对象 196
9.5 ResulstSet对象 198
上机实战 200
实战9-1 WorkShop商品库存管理系统 200
本章小结 201
练习题 201
第 10章 多线程 202
10.1 线程概述 202
10.1.1 什么是进程 202
10.1.2 什么是线程 203
10.2 在Java中实现多线程的方式 203
10.2.1 继承Thread类 203
10.2.2 实现Runnable接口 205
10.2.3 继承Thread类和实现Runnable
接口的区别 206
10.2.4 实现Callable接口 209
10.3 线程的生命周期 210
10.4 线程的常用方法 211
10.4.1 线程的优先级 211
10.4.2 线程活动状态判断 212
10.4.3 线程休眠 213
10.4.4 线程让步 215
10.4.5 线程插队 216
10.5 多线程同步与死锁 217
10.5.1 线程安全问题 217
10.5.2 同步代码块 218
10.5.3 线程死锁 221
【任务10-1】银行存取款程序设计 222
本章小结 224
练习题 224
上机实战 226
实战10-1 龟兔赛跑程序 226
第 11章 Java网络编程 227
11.1 网络通信基础 227
11.1.1 网络通信的意义 227
11.1.2 IP地址和端口号 227
11.1.3 网络通信协议 228
11.2 IP地址的Java实现 229
11.2.1 java.net包 229
11.2.2 InetAddress类 229
11.3 UDP通信的Java实现 230
11.3.1 DatagramPacket类与
DatagramSocket类 230
11.3.2 UDP网络程序 231
11.4 TCP通信的Java实现 233
11.4.1 ServerSocket类与Socket
类 233
11.4.2 TCP网络程序 235
本章小结 236
练习题 237
上机实战 237
实战11-1 UDP两端相互聊天程序 237
实战11-2 TCP实现文件传输 237