图书目录

目录

第1篇Java入门篇

第1章打开Java之门2

任务跟世界打声招呼2

1.1任务描述2

1.2任务分析2

1.3相关知识2

1.3.1Java的发展历史2

1.3.2Java语言的特点4

1.3.3Java程序的分类5

1.3.4Java的运行原理6

1.3.5Java的开发工具7

1.4任务实现13

1.5知识拓展15

1.5.1Eclipse的获取与安装15

1.5.2Eclipse的使用说明21

1.5.3IDEA的安装与使用24

1.5.4跟世界打声招呼(弹出框)31

1.5.5JShell的使用33

1.6本章小结33

1.7强化练习34

1.7.1判断题34

1.7.2选择题34

1.7.3简答题34

1.7.4编程题34第2章Java的基本语法36

任务身高预测36

2.1任务描述36

2.2任务分析36

2.3相关知识36

2.3.1内存和变量36

2.3.2基本的数据类型37

2.3.3变量的声明和使用38

2.3.4常量38

2.3.5运算符40

2.3.6基本数据类型的转换44

2.3.7表达式45

2.4任务实现45

2.5知识拓展46

2.5.1转义字符46

2.5.2注释46

2.5.3键盘输入51

2.5.4Java标识符53

2.5.5Java关键字53

2.5.6Java的命名规范54

2.6本章小结55

2.7强化练习55

2.7.1判断题55

2.7.2选择题56

2.7.3简答题56

2.7.4编程题56第3章选择结构57

任务分时问候57

3.1任务描述57

3.2任务分析57

3.3相关知识57

3.3.1简单if结构57

3.3.2ifelse结构58

3.3.3多重ifelse结构59

3.3.4ifelse条件语句的嵌套61

3.3.5switch case结构65

3.4任务实现67

3.5知识拓展69

3.5.1程序流程图69

3.5.2switch表达式69

3.5.3新的日期时间API70

3.6本章小结74

3.7强化练习74

3.7.1判断题74

3.7.2选择题74

3.7.3简答题75

3.7.4编程题75第4章循环结构77

任务小学生乘法学习软件77

4.1任务描述77

4.2任务分析77

4.3相关知识78

4.3.1for循环78

4.3.2while循环80

4.3.3dowhile循环81

4.3.4break和continue83

4.3.5循环语句的嵌套84

4.4任务实现88

4.5知识拓展91

4.6本章小结92

4.7强化练习92

4.7.1判断题92

4.7.2选择题92

4.7.3简答题94

4.7.4编程题94第5章数组95

任务歌手大奖赛评分程序95

5.1任务描述95

5.2任务分析95

5.3相关知识96

5.3.1一维数组的声明和创建96

5.3.2Java中的内存管理97

5.3.3一维数组内存分析98

5.3.4数组的遍历99

5.3.5一维数组的初始化100

5.3.6一维数组的应用102

5.4任务实现112

5.5知识拓展113

5.5.1Arrays类113

5.5.2对象数组114

5.5.3二维数组116

5.6本章小结118

5.7强化练习119

5.7.1判断题119

5.7.2选择题119

5.7.3简答题120

5.7.4编程题120

第2篇面向对象基础篇

第6章类和对象124

任务E宠之家(一)124

6.1任务描述124

6.2任务分析124

6.3相关知识124

6.3.1面向对象编程124

6.3.2类和对象126

6.3.3类的定义127

6.3.4成员变量128

6.3.5成员方法129

6.3.6方法重载131

6.3.7构造方法131

6.3.8对象的创建与使用132

6.3.9类的封装136

6.3.10UML类图138

6.4任务实现143

6.5知识拓展149

6.5.1代码块149

6.5.2static关键字使用149

6.5.3方法参数传值152

6.5.4this关键字的使用154

6.5.5包的创建与引用155

6.6本章小结157

6.7强化练习157

6.7.1判断题157

6.7.2选择题157

6.7.3简答题159

6.7.4编程题159第7章继承161

任务E宠之家(二)161

7.1任务描述161

7.2任务分析161

7.3相关知识162

7.3.1什么是继承162

7.3.2变量隐藏和方法重写164

7.3.3子类的继承性和继承特点166

7.3.4super关键字的使用167

7.4任务实现170

7.5知识拓展175

7.5.1Object与toString()方法175

7.5.2final关键字176

7.5.3abstract关键字177

7.5.4访问权限179

7.6本章小结181

7.7强化练习181

7.7.1判断题181

7.7.2选择题182

7.7.3简答题183

7.7.4编程题183第8章多态185

任务E宠之家(三)185

8.1任务描述185

8.2任务分析185

8.3相关知识185

8.3.1什么是多态185

8.3.2如何实现多态186

8.3.3instanceof运算符188

8.4任务实现190

8.5知识拓展194

8.6本章小结195

8.7强化练习196

8.7.1判断题196

8.7.2选择题196

8.7.3简答题197

8.7.4编程题197第9章接口199

任务E宠之家(四)199

9.1任务描述199

9.2任务分析199

9.3相关知识199

9.3.1接口的概念199

9.3.2接口的定义和实现200

9.3.3接口的使用场合201

9.4任务实现207

9.5知识拓展211

9.5.1抽象类和接口比较211

9.5.2Java 8中关于接口的改进212

9.5.3设计模式之适配器设计模式 212

9.5.4设计模式之简单工厂设计模式213

9.5.5内部类214

9.6本章小结217

9.7强化练习217

9.7.1判断题217

9.7.2选择题217

9.7.3简答题219

9.7.4编程题219第10章异常处理221

任务计算平均成绩221

10.1任务描述221

10.2任务分析221

10.3相关知识221

10.3.1生活中的异常221

10.3.2Java中的异常222

10.3.3异常类224

10.3.4Java如何进行异常处理226

10.3.5自定义异常231

10.4任务实现233

10.5知识拓展235

10.5.1JDK新语法trywithresource235

10.5.2JDK 1.7对异常处理的改进236

10.5.3在Eclipse中查看类的继承结构236

10.5.4在IDEA中查看类的继承结构237

10.6本章小结238

10.7强化练习238

10.7.1判断题238

10.7.2选择题238

10.7.3简答题239

10.7.4编程题240

第3篇进阶篇

第11章图形用户界面设计242

任务单机版商场收银系统242

11.1任务描述242

11.2任务分析242

11.3相关知识243

11.3.1图形用户界面设计概述243

11.3.2容器243

11.3.3JFrame类243

11.3.4布局管理247

11.3.5事件处理256

11.4任务实现267

11.5知识拓展271

11.6本章小结276

11.7强化练习277

11.7.1判断题277

11.7.2选择题277

11.7.3简答题277

11.7.4编程题277第12章输入输出流279

任务单词记忆卡279

12.1任务描述279

12.2任务分析280

12.3相关知识281

12.3.1Java I/O流概述281

12.3.2File类281

12.3.3字节流和字符流284

12.3.4内存操作流288

12.3.5打印流289

12.3.6缓冲流291

12.3.7又见Scanner294

12.3.8对象序列化295

12.4任务实现298

12.5知识拓展302

12.5.1文件选择器——JFileChooser302

12.5.2装饰设计模式304

12.6本章小结307

12.7强化练习307

12.7.1判断题307

12.7.2选择题307

12.7.3简答题308

12.7.4编程题308第13章Java集合框架309

任务电话号码管理程序309

13.1任务描述309

13.2任务分析309

13.3相关知识309

13.3.1Java集合框架概述309

13.3.2List接口310

13.3.3Set接口317

13.3.4迭代器——Iterator324

13.3.5Map接口325

13.3.6再谈泛型327

13.4任务实现330

13.5知识拓展336

13.5.1Stack336

13.5.2Queue336

13.6本章小结338

13.7强化练习338

13.7.1填空题338

13.7.2读程序并回答问题338

13.7.3简答题339

13.7.4编程题339第14章Java网络编程341

任务智能聊天机器人341

14.1任务描述341

14.2任务分析341

14.3相关知识342

14.3.1URI与URL基础知识342

14.3.2URL类343

14.3.3InetAddress类348

14.3.4网络连接与处理的API349

14.4任务实现354

14.4.1使用旧的网络API实现与聊天服务器的一次通信354

14.4.2使用新的网络API实现与聊天服务器的一次通信355

14.4.3使用新的网络API实现聊天机器人任务356

14.5知识拓展359

14.5.1OSI与TCP/IP体系模型359

14.5.2IP与端口360

14.5.3面向连接与面向无连接360

14.5.4TCP360

14.5.5Socket原理361

14.5.6ServerSocket类362

14.5.7Socket类363

14.5.8UDP364

14.5.9UDP编程的一般步骤365

14.6本章小结367

14.7强化练习367

14.7.1判断题367

14.7.2选择题368

14.7.3简答题368

14.7.4编程题368第15章多线程370

任务龟兔赛跑370

15.1任务描述370

15.2任务分析370

15.3相关知识371

15.3.1多线程概述371

15.3.2线程的创建和启动374

15.3.3线程的控制380

15.3.4线程的同步386

15.3.5等待和通知392

15.3.6同步引发的死锁问题397

15.4任务实现399

15.5知识拓展402

15.5.1线程池402

15.5.2CyclicBarrier类的使用404

15.6本章小结405

15.7强化练习405

15.7.1判断题405

15.7.2选择题406

15.7.3简答题406

15.7.4编程题407第16章数据库访问408

任务书籍管理系统408

16.1任务描述408

16.2任务分析408

16.3相关知识409

16.3.1JDBC的定义与工作原理409

16.3.2JDBC的相关类与接口API410

16.3.3使用JDBC连接数据库的步骤411

16.3.4JDBC程序的一般工作模板412

16.3.5JDBC对数据的CRUD基本操作412

16.3.6预处理操作423

16.4任务实现427

16.5知识拓展429

16.5.1数据库相关知识简介429

16.5.2不同数据库的连接方式431

16.5.3存储过程432

16.5.4分页查询435

16.6本章小结438

16.7强化练习438

16.7.1判断题438

16.7.2选择题439

16.7.3简答题439

16.7.4编程题439参考文献441