图书目录

目    录

基  础  篇

学习任务1  踏雪寻梅——认识Java 1

【学习情境】 1

【学习目标】 1

【任务书】 1

【任务分组】 1

【获取信息】 2

引导问题1:什么是计算机程序? 2

引导问题2:什么是Java? 2

引导问题3:Java有哪些应用领域? 3

引导问题4:Java有哪些优势? 4

引导问题5:简述Java程序的基本结构。 5

引导问题6:简述Java程序的执行过程。 6

引导问题7:简述JDK的安装与配置。 7

引导问题8:简述搭建与配置Java集成开发环境的步骤。 11

引导问题9:如何使用Eclipse开发Java程序? 14

引导问题10:画出完成学习任务的思维导图。 16

【进行决策】 17

【工作实施】 17

引导问题11:编写任务代码。 17

引导问题12:记录在完成任务的过程中遇到的问题。 17

【评价考核】 18

【拓展任务】 18

学习任务2  千姿百态——数据类型和变量 19

【学习情境】 19

【学习目标】 19

【任务书】 19

【任务分组】 19

【获取信息】 20

引导问题1:Java有哪些数据类型? 20

引导问题2:整数类型有哪些,有哪些表示形式? 21

引导问题3:浮点类型有哪些,有哪些表示形式? 22

引导问题4:字符类型占几字节?常见的转义字符有哪些? 24

引导问题5:布尔类型有哪些值? 24

引导问题6:什么是字符串? 24

引导问题7:什么是变量? 25

引导问题8:如何声明变量? 26

引导问题9:如何给变量赋值? 27

引导问题10:如何使用变量? 28

引导问题11:如何输出数据? 29

引导问题12:如何输入数据? 31

【工作计划】 32

引导问题13:画出完成学习任务的思维导图。 32

【进行决策】 33

【工作实施】 33

引导问题14:编写任务代码。 33

引导问题15:记录在完成任务过程中遇到的问题。 33

【评价考核】 33

【拓展任务】 34

【烧脑题】 34

学习任务3  血脉之力——数据运算 35

【学习情境】 35

【学习目标】 35

【任务书】 35

【任务分组】 36

【获取信息】 36

引导问题1:什么是表达式? 36

引导问题2:什么是赋值运算符? 37

引导问题3:Java中的算术运算符与数学中的算术运算符有何异同? 37

引导问题4:什么是自增运算符、自减运算符? 39

引导问题5:如何比较两个值的大小? 40

引导问题6:简述逻辑运算符的用法。 41

引导问题7:什么是位运算符? 44

引导问题8:什么是条件运算符? 47

引导问题9:简述Java运算符的优先级。 48

引导问题10:什么是自动类型转换? 49

引导问题11:如何进行强制类型转换? 50

引导问题12:如何使用Eclipse调试程序? 51

引导问题13:画出完成学习任务的思维导图。 53

【进行决策】 53

【工作实施】 53

引导问题14:编写任务代码。 54

引导问题15:记录在完成任务过程中遇到的问题。 54

【评价考核】 54

【拓展任务】 55

【烧脑题】 55

学习任务4  路在何方——流程控制 57

【学习情境】 57

【学习目标】 57

【任务书】 57

【任务分组】 58

【获取信息】 58

引导问题1:Java有哪些流程控制结构? 58

引导问题2:如何使用单分支if语句? 59

引导问题3:什么是双分支if-else结构? 60

引导问题4:什么是多重选择? 62

引导问题5:简述嵌套if-else语句的用法。 63

引导问题6:如何使用switch-case语句? 65

引导问题7:什么是while循环? 69

引导问题8:简述do-while循环。 70

引导问题9:如何使用for循环? 72

引导问题10:什么是跳转语句? 75

【工作计划】 77

引导问题11:画出完成学习任务的思维导图。 77

【进行决策】 77

【工作实施】 77

引导问题12:编写任务代码。 78

引导问题13:记录在完成任务过程中遇到的问题。 78

【评价考核】 78

【拓展任务】 79

【烧脑题】 79

学习任务5  物以类聚——数组 81

【学习情境】 81

【学习目标】 81

【任务书】 81

【任务分组】 82

【获取信息】 82

引导问题1:什么是数组? 82

引导问题2:如何声明一维数组? 83

引导问题3:如何静态初始化一维数组? 84

引导问题4:如何动态初始化一维数组? 85

引导问题5:如何访问一维数组元素? 86

引导问题6:如何对数组进行排序? 87

引导问题7:什么是二维数组? 91

引导问题8:如何初始化二维数组? 91

引导问题9:如何访问二维数组元素? 93

【工作计划】 94

引导问题10:画出完成学习任务的思维导图。 94

【进行决策】 95

【工作实施】 95

引导问题11:编写任务代码。 95

引导问题12:记录在完成任务过程中遇到的问题。 95

【评价考核】 96

【拓展任务】 96

【烧脑题】 97

学习任务6  万物皆对象——面向对象基础 99

【学习情境】 99

【学习目标】 99

【任务书】 99

【任务分组】 100

【获取信息】 100

引导问题1:什么是类? 100

引导问题2:什么是类的属性? 102

引导问题3:什么是类的方法? 102

引导问题4:什么是无参数无返回值方法? 104

引导问题5:什么是无参数有返回值方法? 104

引导问题6:什么是有参数无返回值方法? 105

引导问题7:什么是有参数有返回值方法? 105

引导问题8:什么是包? 106

引导问题9:访问修饰符有哪些? 108

引导问题10:什么是对象? 109

引导问题11:如何创建对象? 109

引导问题12:如何访问对象的属性与方法? 110

引导问题13:简述变量的作用域。 112

【工作计划】 114

引导问题14:画出完成学习任务的思维导图。 114

【进行决策】 114

【工作实施】 114

引导问题15:编写任务代码。 115

引导问题16:记录在完成任务过程中遇到的问题。 115

【评价考核】 115

【拓展任务】 115

【烧脑题】 116

学习任务7  除妖打怪——西游探险 117

进  阶  篇

学习任务8  回眸一瞬——再探面向对象 118

【学习情境】 118

【学习目标】 118

【任务书】 118

【任务分组】 119

【获取信息】 119

引导问题1:什么是封装? 119

引导问题2:如何实现封装? 120

引导问题3:什么是构造方法? 121

引导问题4:什么是方法重载? 123

引导问题5:什么是静态成员变量? 124

引导问题6:什么是静态方法? 126

引导问题7:什么是静态代码块? 127

引导问题8:什么是枚举类型? 128

【工作计划】 130

引导问题9:画出完成学习任务的思维导图。 130

【进行决策】 130

【工作实施】 130

引导问题10:编写任务代码。 131

引导问题11:记录在完成任务过程中遇到的问题。 131

【评价考核】 131

【拓展任务】 132

【烧脑题】 132

学习任务9  传承力量——继承与多态 134

【学习情境】 134

【学习目标】 134

【任务书】 134

【任务分组】 135

引导问题1:什么是继承? 135

引导问题2:如何实现继承? 136

引导问题3:继承中的构造方法有何特点? 137

引导问题4:this关键字如何使用? 138

引导问题5:super关键字如何使用? 140

引导问题6:instanceof运算符如何使用? 141

引导问题7:什么是多态? 142

引导问题8:如何实现多态? 143

引导问题9:final关键字如何使用? 144

【工作计划】 145

引导问题10:画出完成学习任务的思维导图。 145

【进行决策】 146

【工作实施】 146

引导问题11:编写任务代码。 146

引导问题12:记录在完成任务过程中遇到的问题。 146

【评价考核】 147

【拓展任务】 147

【烧脑题】 148

学习任务10  约束之地——抽象类与接口 149

【学习情境】 149

【学习目标】 149

【任务书】 149

【任务分组】 149

【获取信息】 150

引导问题1:什么是抽象类? 150

引导问题2:如何实现抽象类? 151

引导问题3:什么是接口? 153

引导问题4:如何实现接口? 154

引导问题5:什么是内部类? 155

引导问题6:什么是成员内部类? 155

引导问题7:什么是静态内部类? 157

引导问题8:什么是局部内部类? 158

引导问题9:什么是匿名内部类? 159

【工作计划】 161

引导问题10:画出完成学习任务的思维导图。 161

【进行决策】 161

【工作实施】 161

引导问题11:编写任务代码。 162

引导问题12:记录在完成任务过程中遇到的问题。 162

【评价考核】 162

【拓展任务】 163

【烧脑题】 163

学习任务11  墨家机关术——集合与泛型 164

【学习情境】 164

【学习目标】 164

【任务书】 164

【任务分组】 164

【获取信息】 165

引导问题1:什么是集合框架? 165

引导问题2:Collection接口中有哪些方法? 166

引导问题3:什么是ArrayList集合? 167

引导问题4:什么是LinkedList集合? 168

引导问题5:什么是Set集合? 170

引导问题6:如何使用Iterator迭代器? 172

引导问题7:什么是Map集合? 173

引导问题8:什么是泛型? 176

【工作计划】 177

引导问题9:画出完成学习任务的思维导图。 177

【进行决策】 178

【工作实施】 178

引导问题10:编写任务代码。 178

引导问题11:记录在完成任务过程中遇到的问题。 179

【评价考核】 179

【拓展任务】 180

【烧脑题】 180

学习任务12  红色警报——异常处理 181

【学习情境】 181

【学习目标】 181

【任务书】 181

【任务分组】 181

【获取信息】 182

引导问题1:什么是异常? 182

引导问题2:简述异常的分类。 183

引导问题3:如何使用try-catch处理异常? 186

引导问题4:如何使用finally回收资源? 187

引导问题5:如何使用throws声明抛出异常? 189

引导问题6:如何使用throw抛出异常? 190

引导问题7:如何自定义异常? 192

【工作计划】 194

引导问题8:画出完成学习任务的思维导图。 194

【进行决策】 195

【工作实施】 195

引导问题9:编写任务代码。 195

引导问题10:记录在完成任务过程中遇到的问题。 195

【评价考核】 195

【拓展任务】 196

【烧脑题】 197

学习任务13  借船出海——常用类 198

【学习情境】 198

【学习目标】 198

【任务书】 198

【任务分组】 199

【获取信息】 199

引导问题1:什么是Object类? 199

引导问题2:如何使用String类? 200

引导问题3:如何使用StringBuffer类? 204

引导问题4:如何使用Math类? 206

引导问题5:如何使用Date类? 207

引导问题6:如何使用Calendar类? 210

引导问题7:如何使用SimpleDateFormat类? 212

【工作计划】 213

引导问题8:画出完成学习任务的思维导图。 213

【进行决策】 214

【工作实施】 214

引导问题9:编写任务代码。 214

引导问题10:记录在完成任务过程中遇到的问题。 215

【评价考核】 215

【拓展任务】 216

【烧脑题】 216

学习任务14  I/O显神通——文件处理 218

【学习情境】 218

【学习目标】 218

【任务书】 218

【任务分组】 218

【获取信息】 219

引导问题1:如何创建File对象? 219

引导问题2:如何使用File类操作文件和目录? 221

引导问题3:如何过滤文件? 223

引导问题4:什么是流? 224

引导问题5:什么是字节输出流? 225

引导问题6:什么是字节输入流? 227

引导问题7:什么是字符输出流? 229

引导问题8:什么是字符输入流? 231

引导问题9:什么是转换流? 233

引导问题10:什么是序列化与反序列化? 234

【工作计划】 236

引导问题11:画出完成学习任务的思维导图。 236

【进行决策】 236

【工作实施】 236

引导问题12:编写任务代码。 237

引导问题13:记录在完成任务过程中遇到的问题。 237

【评价考核】 237

【拓展任务】 238

【烧脑题】 238

学习任务15  多姿多彩——Swing编程 241

【学习情境】 241

【学习目标】 241

【任务书】 241

【任务分组】 242

【获取信息】 243

引导问题1:什么是Swing? 243

引导问题2:如何使用JFrame组件? 244

引导问题3:如何设置标签? 246

引导问题4:如何设置按钮? 247

引导问题5:如何使Swing组件响应用户动作? 249

引导问题6:如何创建标准对话框? 252

引导问题7:如何使用单行文本框? 255

引导问题8:如何设置菜单栏? 257

引导问题9:在Swing中如何设置弹出菜单? 262

引导问题10:如何使用文件选取器组件? 264

引导问题11:如何安装Java GUI可视化工具? 268

引导问题12:如何使用WindowBuilder插件创建Swing桌面应用开发程序? 271

引导问题13:如何在设计界面中为窗体添加标题并更换Logo图标? 272

引导问题14:如何在JPanel中设置图片作为背景? 274

【工作计划】 277

引导问题15:画出完成学习任务的思维导图。 277

【进行决策】 277

【工作实施】 277

引导问题16:编写任务代码。 278

引导问题17:记录在完成任务过程中遇到的问题。 278

【评价考核】 278

【拓展任务】 279

【烧脑题】 280

学习任务16  英雄之路——IT英雄成长之路 281

高  级  篇

学习任务17  海纳百川——JDBC 282

【学习情境】 282

【学习目标】 282

【任务书】 282

【任务分组】 283

【获取信息】 283

引导问题1:什么是JDBC? 283

引导问题2:如何使用JDBC连接数据库? 285

引导问题3:如何使用Statement对象执行SQL语句? 287

引导问题4:如何使用PreparedStatement对象执行SQL语句? 289

引导问题5:如何处理查询结果集? 291

引导问题6:如何使用JDBC公共操作类优化程序? 293

引导问题7:如何使用CallableStatement对象调用存储过程? 294

【工作计划】 296

引导问题8:画出完成学习任务的思维导图。 296

【进行决策】 297

【工作实施】 297

引导问题9:编写任务代码。 297

引导问题10:记录在完成任务过程中遇到的问题。 297

【评价考核】 297

【拓展任务】 298

【烧脑题】 299

学习任务18  反射之术——Java反射机制 301

【学习情境】 301

【学习目标】 301

【任务书】 301

【任务分组】 301

【获取信息】 302

引导问题1:什么是反射机制? 302

引导问题2:什么是Class类? 303

引导问题3:通过Class类如何获取类的方法? 305

引导问题4:通过Class类如何获取构造方法? 308

引导问题5:通过Class类如何获取类的属性? 310

引导问题6:通过Class类如何创建对象? 312

引导问题7:通过Class类如何修改属性? 313

引导问题8:通过Class类如何调用方法? 314

引导问题9:如何操作动态数组? 315

【工作计划】 317

引导问题10:画出完成学习任务的思维导图。 317

【进行决策】 318

【工作实施】 318

引导问题11:编写任务代码。 318

引导问题12:记录在完成任务过程中遇到的问题。 318

【评价考核】 318

【拓展任务】 319

【烧脑题】 319

学习任务19  三头六臂——多线程编程 321

【学习情境】 321

【学习目标】 321

【任务书】 321

【任务分组】 322

【获取信息】 322

引导问题1:线程与进程间有什么区别与联系? 322

引导问题2:如何使用Thread类创建线程? 324

引导问题3:如何使用Runnable接口创建线程? 326

引导问题4:线程的生命周期有哪些? 328

引导问题5:什么是线程安全问题? 331

引导问题6:如何解决线程安全问题? 333

引导问题7:什么是线程死锁现象? 334

【工作计划】 336

引导问题8:画出完成学习任务的思维导图。 336

【进行决策】 337

【工作实施】 337

引导问题9:编写任务代码。 337

引导问题10:记录在完成任务过程中遇到的问题。 337

【评价考核】 338

【拓展任务】 338

【烧脑题】 339

学习任务20  互通互联——网络编程 340

【学习情境】 340

【学习目标】 340

【任务书】 340

【任务分组】 341

【获取信息】 341

引导问题1:计算机网络传输层协议有哪些? 341

引导问题2:什么是IP地址和端口号? 342

引导问题3:如何获取主机的IP地址? 343

引导问题4:什么是TCP协议? 344

引导问题5:如何基于TCP进行Socket编程? 345

引导问题6:如何使服务器端接收多个客户端的请求? 348

引导问题7:什么是UDP协议? 351

引导问题8:如何基于UDP进行Socket编程? 352

【工作计划】 355

引导问题9:画出完成学习任务的思维导图。 355

【进行决策】 356

【工作实施】 356

引导问题10:编写任务代码。 356

引导问题11:记录在完成任务过程中遇到的问题。 356

【评价考核】 356

【拓展任务】 357

【烧脑题】 358

学习任务21  高光时刻——在线聊天室 360

参考文献 361