图书目录

第一篇Java编程基础1第1章概述1

1.1面向对象程序设计1

1.1.1定义1

1.1.2基本概念1

1.1.3特点2

1.1.4面向对象编程语言3

1.2Java语言概述3

1.2.1诞生及发展3

1.2.2Java语言的特点4

1.2.3Java开发平台7

1.3Java开发环境7

1.3.1下载、安装JDK8

1.3.2配置环境变量9

1.4Java开发工具11

1.5学习创建第一个Java程序12

1.5.1制作Java Application应用程序12

1.5.2制作Java Applet小程序16

习题117第2章编程基础19

2.1标识符19

2.2数据类型20

2.2.1基本数据类型20

2.2.2类型转换21

2.3变量和赋值23

2.4常量23

2.5运算符和表达式23

2.5.1基本赋值运算24

2.5.2算数运算24

2.5.3关系运算26

2.5.4布尔运算27

2.5.5位运算27

2.5.6条件运算28

2.5.7复合赋值运算符28

2.6字符串28

2.6.1输入字符串实例29

2.6.2字符串类型与数值型的转换29

2.7程序设计30

习题230

编程练习32第3章控制语句33

3.1if语句33

3.1.1if语句的三种形式33

3.1.2分段显示实例(if)35

3.2switch语句36

3.2.1分段显示实例(switch)36

3.2.2switch语句详解37

3.3for循环37

3.3.1for循环语法37

3.3.2求和运算实例38

3.4while循环39

3.4.1while循环语句39

3.4.2while循环实现输入控制40

3.5do…while循环40

3.5.1do…while语句40

3.5.2do…while实现退出操作41

3.6break与continue41

3.6.1break语句41

3.6.2continue语句42

3.7综合实例: 十进制与二进制转换42

3.7.1问题分析42

3.7.2算法设计43

3.7.3主程序43

习题344

编程练习45第4章方法47

4.1定义方法47

4.2调用方法47

4.3方法实例48

4.4方法应用51

4.4.1单个参数的方法51

4.4.2多个参数的方法52

4.4.3递归方法53

4.4.4多个返回值的方法54

4.5方法重载55

4.6预定义方法55

习题458

编程练习59第5章数组60

5.1创建数组60

5.2初始化一维数组61

5.2.1静态初始化61

5.2.2动态初始化62

5.2.3创建数组实例63

5.3数组名的使用63

5.4数组作为方法的参数和返回值65

5.4.1数组作为方法参数65

5.4.2数组作为返回类型66

5.5增强的for循环67

5.6有用的数组方法68

5.7多维数组68

5.7.1二维数组定义68

5.7.2初始化二维数组69

5.7.3二维数组实例70

5.8文本处理实例71

5.8.1问题分析和方法设计71

5.8.2主算法设计73

5.8.3程序实现74

习题575

编程练习76

第二篇Java面向对象77第6章类和对象77

6.1类与对象的关系77

6.2类的设计与UML建模77

6.3类78

6.3.1汽车类实例78

6.3.2定义类79

6.4对象80

6.4.1创建对象80

6.4.2使用对象81

6.5成员变量与局部变量81

6.6构造方法82

6.6.1为什么需要构造方法82

6.6.2构造方法重载84

6.7this关键字85

6.7.1this表示类的成员86

6.7.2this调用构造方法86

6.7.3this表示当前对象88

6.8static修饰符88

6.8.1静态变量89

6.8.2静态方法91

6.8.3main方法详解92

6.8.4静态成员特点93

6.9使用String类93

6.10对象参数实例95

6.11聚集类97

6.11.1聚集类实例98

6.11.2银行操作主界面101

6.12内部类105

6.12.1类中定义的内部类105

6.12.2内部类被外部引用107

6.12.3方法中定义的内部类107

习题6108

编程练习109第7章封装112

7.1类的抽象与封装112

7.2Java中的包113

7.2.1package语句113

7.2.2import语句115

7.2.3Date、Calendar与DateFormat类116

7.2.4Math与Random类118

7.3类的成员的访问控制122

7.3.1包访问权限122

7.3.2public: 接口访问权限122

7.3.3private: 类内部访问权限123

7.3.4protected: 继承访问权限123

7.4类的访问权限123

7.5链表实例123

7.5.1链表结点124

7.5.2链表类124

7.5.3测试类128

习题7129

编程练习130第8章继承131

8.1继承的定义与实现131

8.1.1继承实例131

8.1.2继承的定义131

8.1.3继承的实现132

8.1.4继承的结果135

8.2方法重写135

8.3super关键字138

8.3.1使用super访问父类成员139

8.3.2使用super调用父类构造方法140

8.3.3构造子类对象140

8.3.4super与this141

8.4抽象类141

8.4.1Employee抽象类142

8.4.2抽象类实例142

8.4.3抽象类的子类实例143

8.5接口145

8.5.1定义接口145

8.5.2接口实例146

8.6final修饰符147

8.6.1final修饰类147

8.6.2final修饰方法148

8.7Object类148

8.7.1toString()方法148

8.7.2equals()方法149

8.8类的关系149

8.8.1依赖150

8.8.2关联150

8.8.3聚合151

8.8.4组合151

8.9综合实例: 组装计算机152

习题8154

编程练习154第9章多态156

9.1多态实例156

9.1.1句柄引用对象实例156

9.1.2父类句柄引用子类对象157

9.2动态绑定158

9.3对象的多态性160

9.3.1向上转型161

9.3.2向下转型161

9.3.3instanceof运算符162

9.4多态实例162

9.4.1接口作为参数实例163

9.4.2父类作为方法返回类型实例165

9.4.3面向接口编程168

习题9169

编程练习169

第三篇高级面向对象设计171第10章图形用户界面设计171

10.1Swing和AWT171

10.1.1AWT组件171

10.1.2Swing组件172

10.1.3容器类组件173

10.2创建基本GUI程序174

10.2.1使用JFrame类创建框架174

10.2.2在框架中添加组件175

10.2.3设置界面布局176

10.2.4事件处理182

10.3事件及监听器接口184

10.3.1事件184

10.3.2Windows事件处理185

10.3.3键盘事件处理188

10.3.4鼠标事件处理191

10.4菜单193

10.4.1菜单的设计与实现193

10.4.2实现菜单项事件处理代码194

习题10198

编程练习199第11章异常处理200

11.1Java异常处理200

11.2Exception类200

11.3使用异常处理201

11.3.1try/catch/finally块201

11.3.2catch块的顺序203

11.3.3抛出异常204

11.4自定义异常204

11.5为异常编写文档207

习题11208

编程练习209第12章集合类210

12.1Iterable接口211

12.2Collection接口211

12.3List接口212

12.3.1LinkedList类213

12.3.2ArrayList类213

12.3.3Vector类214

12.3.4Stack类214

12.4Set接口215

12.4.1Set接口常用方法215

12.4.2Set接口实例215

12.5Map接口217

12.5.1Map常用方法217

12.5.2HashMap管理网络名和密码217

12.6泛型219

12.7集合类实例: 书籍管理220

习题12223

编程练习223第13章输入输出流及文件处理225

13.1I/O流226

13.2字节流226

13.2.1InputStream类常用方法227

13.2.2OutputStream类常用方法227

13.2.3文件数据流228

13.2.4实例: 输入信息保存到文件228

13.2.5读取并显示文件230

13.2.6文件复制231

13.3字符流232

13.3.1InputStreamReader和OutputStreamWriter232

13.3.2字符流实例233

13.4文件输入输出234

13.4.1文件基本操作234

13.4.2文件随机读写236

13.5对象序列化237

13.5.1存储对象237

13.5.2Car对象序列化实例238

13.5.3存储和读取序列化对象信息238

习题13239

编程练习240第14章多线程241

14.1线程概述241

14.1.1线程的概念241

14.1.2如何理解多线程241

14.2创建线程242

14.2.1通过继承Thread类来创建线程242

14.2.2通过实现Runnable接口的类来运行线程243

14.3线程的状态244

14.3.1线程的不同状态244

14.3.2线程的优先级及调度246

14.3.3线程状态的转换247

14.5制作动画249

14.5.1Java多线程动画制作概述249

14.5.2动态文字显示249

14.5.3模拟赛跑250

14.6共享资源与线程同步254

14.6.1资源共享254

14.6.2线程同步256

14.6.3等待与通知257

14.6.4死锁260

习题14260

编程练习262第15章网络编程263

15.1Java网络编程基础263

15.1.1IP地址263

15.1.2端口号263

15.2InetAddress类264

15.3使用URL类访问网络资源265

15.4Socket套接字编程268

15.4.1使用TCP通信268

15.4.2使用UDP通信270

15.5访问远程数据库272

15.6访问Web Service273

15.6.1生成客户端类273

15.6.2访问股票行情查询Web服务276

15.7访问Web Server端应用程序277

15.7.1服务器端开发277

15.7.2在应用程序中访问283

习题15286

编程练习286参考文献287