第0章 Java学习指南 2
0.1 Java为什么重要 2
0.2 Java简史——给我们带来的一点思考 3
0.3 Java应用领域和前景 7
0.4 Java学习路线图 9
第Ⅰ篇 基础知识 13
第1章 小荷才露尖尖角——Java开发环境搭建 13
1.1 Java开发环境 13
1.2安装Java开发工具箱 13
1.2.1下载JDK 13
1.2.2安装JDK 16
1.3 Java环境变量的配置 17
1.3.1理解环境变量 17
1.3.2 JDK中的3个环境变量 18
1.4享受安装成果——开发第1个Java程序 22
1.5 Eclipse的使用 23
1.5.1 Eclipse概述 23
1.5.2创建Java项目 25
1.5.3创建Java类文件 26
1.5.4在代码编辑器中编写Java程序代码 27
1.5.5运行Java程序 29
1.6探秘Java虚拟机 29
1.7高手点拨 30
1.8实战练习 32
第2章 初识庐山真面目——Java程序要素概览 34
2.1一个简单的例子 34
2.2感性认识Java程序 35
2.2.1 Java程序的框架 36
2.2.2标识符 37
2.2.3关键字 37
2.2.4注释 38
2.2.5变量 39
2.2.6数据类型 40
2.2.7运算符和表达式 40
2.2.8类 41
2.2.9输入与输出 41
2.3程序的检测 44
2.3.1语法错误 44
2.3.2语义错误 45
2.4提高程序的可读性 46
2.5高手点拨 47
2.6实战练习 47
第3章 九层之台,起于垒土——Java编程基础 50
3.1常量与变量 50
3.1.1常量的声明与使用 50
3.1.2变量的声明与使用 51
3.2基本数据类型 55
3.2.1数据类型的意义 55
3.2.2整数类型 56
3.2.3浮点类型 59
3.2.4字符类型 60
3.2.5布尔类型 62
3.3数据类型的转换 63
3.3.1自动类型转换 63
3.3.2强制类型转换 64
3.4高手点拨 65
3.5实战练习 66
第4章 基础编程元素——运算符、表达式、语句与流程控制 70
4.1运算符 70
4.1.1赋值运算符 70
4.1.2一元运算符 70
4.1.3算术运算符 72
4.1.4逻辑运算符 73
4.1.5位运算符 76
4.1.6三元运算符 77
4.1.7关系运算符与if语句 78
4.1.8递增与递减运算符 79
4.1.9括号运算符 80
4.2表达式 80
4.2.1算术表达式与关系表达式 81
4.2.2逻辑表达式与赋值表达式 82
4.2.3表达式的类型转换 83
4.3语句 84
4.3.1语句中的空格 84
4.3.2空语句 85
4.3.3声明语句与赋值语句 86
4.4程序的控制逻辑 86
4.4.1顺序结构 87
4.4.2分支结构 88
4.4.3循环结构 88
4.5选择结构 88
4.5.1 if语句 89
4.5.2 if&else语句 89
4.5.3 if …else if&else语句 90
4.5.4多重选择——switch语句 91
4.6循环结构 93
4.6.1 while循环 93
4.6.2 do&while循环 95
4.6.3 for循环 97
4.6.4 foreach循环 98
4.7循环的跳转 99
4.7.1 break语句 99
4.7.2 continue语句 101
4.7.3 return语句 104
4.8高手点拨 105
4.9实战练习 106
第5章 常用的数据结构——数组与枚举 108
5.1理解数组 108
5.2一维数组 111
5.2.1一维数组的声明与内存的分配 111
5.2.2数组中元素的表示方法 112
5.2.3数组元素的使用 113
5.3二维数组 116
5.3.1二维数组的声明与赋值 116
5.3.2二维数组元素的引用及访问 117
5.4枚举简介 118
5.5 Java中的枚举 118
5.5.1常见的枚举定义方法 118
5.5.2在程序中使用枚举 119
5.5.3在switch语句中使用枚举 120
5.6高手点拨 121
5.7实战练习 121
第6章 面向对象设计的核心——类和对象 124
6.1理解面向对象程序设计 124
6.1.1结构化程序设计简介 124
6.1.2面向对象程序设计简介 124
6.1.3面向对象程序设计的基本特征 125
6.1.4面向对象编程和面向过程编程的比较 126
6.2面向对象的基本概念 127
6.2.1类 127
6.2.2对象 128
6.2.3类和对象的关系 128
6.3类的声明与定义 129
6.3.1类的声明 129
6.3.2类的定义 130
6.4类的属性 132
6.4.1属性的定义 132
6.4.2属性的使用 132
6.5对象的声明与使用 135
6.5.1对象的声明 135
6.5.2对象的使用 136
6.5.3匿名对象 138
6.5.4对象的比较 139
6.5.5对象数组的使用 141
6.6 this关键字的使用 143
6.7 static关键字的使用 145
6.8 final关键字的使用 149
6.9高手点拨 150
6.10实战练习 152
第7章 重复调用的代码块——方法 154
7.1方法的基本定义 154
7.2方法的使用 156
7.3方法中的形参与实参 157
7.4方法的重载 158
7.5构造方法 161
7.5.1构造方法简介 161
7.5.2构造方法的重载 163
7.5.3构造方法的私有化 167
7.6在方法内部调用方法 171
7.7代码块 172
7.7.1普通代码块 172
7.7.2构造代码块 173
7.7.3静态代码块 175
7.8 static方法 177
7.8.1自定义static方法 177
7.8.2 static主方法 178
7.9方法与数组 180
7.9.1数组引用传递 180
7.9.2让方法返回数组 183
7.10包的概念及使用 185
7.10.1包的基本概念 185
7.10.2包的导入 186
7.10.3 JDK中常见的包 187
7.11高手点拨 188
7.12实战练习 188
第Ⅱ篇 核心技术 191
第8章 面向对象设计的精华——类的封装、继承与多态 191
8.1面向对象的三大特点 191
8.1.1封装的含义 191
8.1.2继承的含义 191
8.1.3多态的含义 192
8.2封装的实现 194
8.2.1 Java访问权限修饰符 194
8.2.2封装问题引例 194
8.2.3类的封装实例 195
8.3继承的实现 202
8.3.1继承的基本概念 202
8.3.2继承问题的引入 202
8.3.3继承实现代码复用 204
8.3.4继承的限制 205
8.4深度认识类的继承 208
8.4.1子类对象的实例化过程 208
8.4.2 super关键字的使用 210
8.4.3限制子类的访问 213
8.5覆写 216
8.5.1属性的覆盖 216
8.5.2方法的覆写 217
8.5.3关于覆写的注解——@Override 221
8.6多态的实现 223
8.6.1多态的基本概念 223
8.6.2方法多态性 225
8.6.3对象多态性 225
8.6.4隐藏 230
8.7高手点拨 231
8.8实战练习 234
第9章 凝练才是美——抽象类、接口与内部类 236
9.1抽象类 236
9.1.1抽象类的定义 236
9.1.2抽象类的使用 236
9.2接口 240
9.2.1接口的基本概念 240
9.2.2使用接口的原则 241
9.2.3接口的作用——Java的回调机制 248
9.3内部类 253
9.3.1内部类的基本定义 253
9.3.2在方法中定义内部类 255
9.4匿名内部类 256
9.5匿名对象 258
9.6高手点拨 259
9.7实战练习 262
第10章 更灵活的设计——泛型 264
10.1泛型的概念 264
10.2泛型类的定义 264
10.3泛型方法的定义 265
10.4泛型接口的定义 265
10.5泛型的使用限制和通配符的使用 266
10.5.1泛型的使用限制 266
10.5.2通配符的使用 267
10.6泛型的继承和实现 268
10.7高手点拨 269
10.8实战练习 270
第11章 更强大和方便的功能——注解 272
11.1注解概述 272
11.2常用内置注解 272
11.3自定义注解 274
11.4通过反射访问注解信息 277
11.5高手点拨 280
11.6实战练习 282
第12章 设计实践——常用的设计模式 284
12.1设计模式概述 284
12.1.1设计模式的背景 284
12.1.2设计模式的分类 284
12.2创建型模式 285
12.2.1单例设计模式 285
12.2.2多例设计模式 288
12.2.3 工厂模式 290
12.3结构型模式 295
12.3.1代理设计模式 296
12.3.2桥接设计模式 299
12.4行为型模式 307
12.4.1行为型模式概述 307
12.4.2责任链设计模式 307
12.5高手点拨 310
12.6实战练习 310
第13章 存储类的仓库——Java常用类库 312
13.1 API概念 312
13.2基本数据类型的包装类 312
13.2.1装箱与拆箱 313
13.2.2基本数据类型与字符串的转换 315
13.3 String类 317
13.3.1字符串类的声明 317
13.3.2 String类中常用的方法 319
13.4 System类与Runtime类 321
13.4.1 System类 321
13.4.2 Runtime类 324
13.5日期操作类 326
13.5.1日期类 326
13.5.2日期格式化类 328
13.6正则表达式 329
13.6.1正则的引出 329
13.6.2正则标记 331
13.6.3利用String进行正则操作 332
13.7 Math与Random类 334
13.7.1 Math类的使用 334
13.7.2 Random类的使用 335
13.8高手点拨 337
13.9实战练习 338
第14章 防患于未然——异常的捕获与处理 340
14.1异常的基本概念 340
14.1.1为何需要异常处理 340
14.1.2简单的异常范例 341
14.1.3异常的处理 342
14.1.4异常处理机制的小结 347
14.2异常类的处理流程 348
14.3 throws关键字 348
14.4 throw关键字 350
14.5异常处理的标准格式 350
14.6 RuntimeException类 352
14.7编写自己的异常类 353
14.8高手点拨 354
14.9实战练习 354