第1篇 面向对象概念与程序设计入门 3
第1章 简介Java与面向对象概念 3
1-1 Java的简介 5
1-1-1 Java的前世今生 5
1-1-2 Java的执行 5
1-1-3 Java的特性 6
1-1-4 Java2与Java 6
1-2 小心错误的概念 7
1-3 面向对象概念与Java 7
1-3-1 思维与程序设计 7
1-3-2 面向对象思维与Java 8
1-4 面向对象概念入门 8
1-4-1 面向对象的四个基本概念 8
1-4-2 对象 8
1-4-3 类 9
1-4-4 信息 9
1-4-5 继承 9
1-4-6 您还不懂吗 10
1-5 JDK的下载与安装 10
1-5-1 JDK 10
1-5-2 Java2 SDK的下载 10
1-5-3 Java2 SDK的安装 12
1-6 程序开发环境的使用 14
1-6-1 DOS方式的激活 14
1-6-2 DOS环境的文件夹路径概念 15
1-6-3 DOS常用指令介绍 16
1-6-4 批处理文件的应用 18
1-6-5 Java的编译/执行指令 20
1-7 习题 21
第2章 Java程序初体验 23
2-1 在学程序之前 25
2-1-1 给完全不懂程序的人 25
2-1-2 学习程序的方法 25
2-2 名词解释 25
2-3 Hello Java!程序 25
2-3-1 您的第一个程序-Hello Java! 25
2-3-2 程序的建立与编译 26
2-3-3 范例程序概观 28
2-4 程序注释的使用 28
2-4-1 什么是程序注释 28
2-4-2 区段注释 29
2-4-3 单行注释 29
2-5 import语句 29
2-6 类的建立 31
2-6-1 用类模拟打印机 31
2-6-2 定义类 31
2-6-3 定义属性 32
2-6-4 定义方法 32
2-7 程序进入点 33
2-7-1 主程序类 33
2-7-2 main0方法 33
2-8 建立对象 34
2-9 信息-调用对象的方法 34
2-10 数据的输出 35
2-11 习题 35
第2篇 Java基本语法 39
第3章 变量、常量与数据类型 39
3-1 变量与常量 41
3-1-1 什么是常量 41
3-1-2 什么是变量 41
3-1-3 自定义常量 41
3-2 变量 42
3-2-1 变量的定义 42
3-2-2 变量值的设置 43
3-2-3 变量的输出 43
范例3-1:输出变量值 44
3-2-4 给变量一个好名字--匈牙利命名法 44
范例3-2:计算圆面积 44
3-2-5 变量的有效范围 46
范例3-3:变量的有效范围 46
3-3 数据类型 47
3-3-1 Java的数据类型 47
3-3-2 整型 48
3-3-3 浮点型 48
3-3-4 字符 49
3-3-5 布尔值 49
范例3-4:定义各种类型的变量与值的设置 49
3-4 数据的输出 50
3-4-1 print()与println()方法 50
范例3-5:字符串及变量的输出 50
3-4-2 特殊的字符常量--跳脱字符 51
范例3-6:跳脱字符的应用 51
3-5 自定义常量 52
范例3-7:自定义常量 52
3-6 习题 53
第4章 运算符 55
4-1 运算符与表达式 57
4-2 算术运算符 57
范例4-1:算术运算符的使用 57
4-3 关系运算符 58
范例4-2:比较运算符的使用 59
4-4 逻辑运算符 59
范例4-3:逻辑运算符的使用 60
范例4-4:逻辑与快捷逻辑运算符的应用 61
4-5 = 运算符 62
4-6 递增、递减运算符 63
范例4-5:递增运算符的使用 63
4-7 算术赋值运算符 64
范例4-6:算术赋值运算符的使用 64
4-8 各运算符的计算顺序 66
4-9 类型转换 67
范例4-7:类型转换机制 68
4-10 习题 69
第5章 流程控制 71
5-1 流程控制的用途与种类 73
5-1-1 判断结构语法 73
5-1-2 循环控制语法 73
5-1-3 main()方法的执行参数 74
范例5-1:传数据给main()方法 74
范例5-2:传一个以上的数据给main()方法 75
范例5-3:传入数据的类型转换 76
5-2 if判断语句 77
5-2-1 if判断语句的种类 77
5-2-2 单一条件判断语句 77
范例5-4:if判断语句的使用 77
范例5-5:两语句中择一执行 79
范例5-6:快捷逻辑运算符的使用 79
5-2-3 多条件判断语句 80
范例5-7:多条件判断语句的使用 81
5-2-4 嵌套判断语句 82
范例5-8:嵌套判断语句的使用 83
5-3 switch判断语句 85
范例5-9:switch判断语句的语法 86
范例5-10:switch判断语句的应用 87
5-4 for循环 88
5-4-1 for循环的基本语法 88
范例5-11:for循环的使用 89
范例5-12:运用for循环进行数字汇总 90
范例5-13:运用for循环进行奇数汇总 91
范例5-14:等比级数第N项的计算 92
5-4-2 嵌套for循环 93
范例5-15:九九乘法表的输出 93
范例5-16:等比级数前N项和的计算 95
5-5 while循环 96
5-5-1 无穷循环 96
5-5-2 while循环语法 97
范例5-17:应用while循环计算数字汇总 97
范例5-18:运用while循环求取最大公因数 98
5-5-3 do...while循环 99
范例5-19:do...while循环的执行 100
范例5-20:运用do...while循环执行数字汇总 100
5-6 break与continue 101
5-6-1 break语句 101
范例5-21:使用break语句中断for循环的执行 101
范例5-22:在while循环中使用break语句 102
5-6-2 continue语句 103
范例5-23:continue语句的使用 103
5-7 (?:)语句 104
范例5-24:(?:)语句的应用 104
5-8 习题 104
第6章 数组的定义 107
6-1 什么是数组 109
6-2 数组的定义与使用 109
范例6-1:数组的定义与使用 111
6-3 数组与引用 111
6-4 数组复制 112
范例6-2:比较数组的复制与引用 113
6-5 二维数组 114
范例6-3:二维数组的定义与使用 116
6-6 数组长度的取得 117
范例6-4:数组长度的取得 118
6-7 习题 118
第3篇 面向对象观念与Java语法 123
第7章 软件革命--面向对象 123
7-1 计算机的虚拟世界 125
7-1-1 0与1的世界 125
7-1-2 将真实世界量化 125
7-1-3 抽象化 125
7-1-4 为什么要用面向对象 126
7-2 面向对象思维如何模拟世界 126
7-2-1 面向对象的抽象化 126
7-2-2 模拟世界的动态与静态 127
7-3 面向对象系统的运作机制 128
7-4 习题 128
第8章 类与对象 131
8-1 信息隐藏 133
8-2 类与对象 133
8-2-1 类与对象 133
范例8-1:建立字符串对象 134
8-2-2 类的建立 135
8-2-3 对象的建立 136
8-2-4 属性的定义 136
8-2-5 方法的定义 137
8-3 对象数组与this 139
8-3-1 对象数组 139
范例8-2:对象数组的建立 140
8-3-2 我在哪里?--this的使用 141
范例8-3:运用this分隔属性与传入参数 141
范例8-4:运用this将对象本身传给方法 142
8-4 属性的修饰符 144
8-4-1 属性的存取控制 144
8-4-2 public与privatc属性的存取控制 145
范例8-5:public与private属性的存取控制 145
8-4-3 同一类中对象的属性存取 146
范例8-6:同一类中对象的存取控制 146
8-4-4 protected与default等级属性的存取 148
范例8-7:protected与无修饰符属性的存取控制 148
8-4-5 private属性的存取接口 150
范例8-8:private存取接口 151
8-4-6 final与static的使用 152
范例8-9:final的使用 152
8-5 方法的修饰符 153
8-5-1 方法的存取控制 153
8-5-2 其它修饰符 154
8-6 方法的调用方式 154
8-6-1 方法的参数传递 154
8-6-2 传值调用(passing by value) 155
范例8-10:在方法中更改传入参数值 155
范例8-11:传值调用的示范 156
8-6-3 传址调用(passing by reference) 157
范例8-12:数组的传址调用 158
范例8-13:传对象的传址调用 159
8-7 方法的返回值 161
8-7-1 方法的数据返回 161
8-7-2 返回值 161
范例8-14:返回变量值 162
8-7-3 返回引用 163
范例8-15:由方法返回数组 164
范例8-16:由方法返回对象 165
8-8 类成员 166
8-8-1 对象成员与类成员 166
8-8-2 静态属性 166
范例8-17:静态属性的存取 166
8-8-3 静态方法 168
范例8-18:静态方法的使用 169
8-9 习题 170
第9章 对象的生命周期 173
9-1 对象的生命周期 175
9-2 对象的产生--构造函数 175
范例9-1:构造函数的建立与执行 177
范例9-2:静态属性与构造函数的应用 178
范例9-3:同时定义几个构造函数 180
9-3 对象状态的改变 181
范例9-4:对象状态的改变 182
9-4 垃圾收集-Garbage Collection 184
范例9-5:finalize()方法的应用 184
9-5 习题 186
第10章 继承--程序代码的再用 187
10-1 继承的意义 189
10-1-1 名词解释 189
10-1-2 分类的角度 189
10-1-3 遗传的角度 190
10-1-4 继承对系统发展的意义 190
10-2 Java的继承机制 191
10-2-1 Java是怎样做到的 191
范例10-1:继承的语法 192
范例10-2:继承的应用 193
10-2-2 属性的继承 195
范例10-3:重新定义父类成员 197
范例10-4:重新定义属性与存取父类属性 199
10-2-3 方法的继承 200
范例10-5:方法的增加 201
范例10-6:方法的取代 203
范例10-7:方法的扩充 205
10-2-4 继承与构造函数 207
范例10-8:继承机制下构造函数的调用顺序 207
范例10-9:父类构造函数的调用 208
10-2-5 继承与类成员 210
范例10-10:类属性的继承 210
10-3 继承与抽象类 213
范例10-11:抽象类的继承 214
10-4 对象引用的类型转换 215
范例10-12:对象的类型转换 216
范例10-13:父类对象引用无法转为子类 217
10-5 对象数组与继承 218
范例10-14:继承与对象数组的应用 218
10-6 习题 220
第11章 信息--对象间的对谈 223
11-1 信息的多元性 225
11-1-1 信息在面向对象系统中的角色 225
11-1-2 信息多元性的建立机制 225
11-2 重载与覆盖--静态的多元性 228
11-2-1 方法的重载 228
范例11-1:方法重载的语法 228
范例11-2:方法的重载 231
11-2-2 方法的覆盖 232
11-3 动态方法配送的使用--动态的多元性 233
11-3-1 动态方法配送与继承 233
范例11-3:动态方法配送的示范 234
11-3-2 动态方法配送与对象数组 239
范例11-4:对象数组的应用 239
11-4 习题 242
第4篇 Jave的特有机制 245
第12章 接口 245
12-1 什么是接口 247
12-2 接口的定义与使用 248
12-2-1 接口的定义语法与使用语法 248
范例12-1:接口的应用 249
12-2-2 使用多接口 250
范例12-2:多接口的应用 251
范例12-3:类的继承与接口的应用 254
12-3 接口的类型转换 257
范例12-4:接口的类型转换 257
12-4 接口的继承 259
12-4-1 接口的继承 259
范例12-5:接口的继承应用 260
12-4-2 接口的多重继承 261
范例12-6:接口的多重继承 262
12-5 习题 264
第13章 包 265
13-1 包的概念 267
13-1-1 包的简介 267
13-1-2 为什么要用包 267
13-2 包的引用 268
13-2-1 包的引用语法 268
13-2-2 Java包帮助文件的下载与使用 269
13-3 自定义包 269
13-3-1 自定义包的概念 269
13-3-2 包的自定义与使用 271
范例13-1:包的应用 271
13-4 习题 273
第14章 字符串的处理 275
14-1 Java的String类 277
范例14-1:字符串的定义 277
14-2 字符串的连接 278
范例14-2:字符串的连接 278
14-3 字符串的比较 279
范例14-3:字符串的比较 279
14-4 取得字符串长度与大小写的转换 280
14-4-1 取得字符串长度 280
14-4-2 大小写的转换 281
范例14-4:取得字符串长度与大小写的转换 281
14-5 获取部分字符串 281
范例14-5:子字符串的获取 282
14-6 寻找字符或字符串 283
范例14-6:在字符串中寻找字符/字符串 283
14-7 字符与部分字符串的取代 284
14-7-1 字符的取代 284
范例14-7:字符串中字符的取代 284
14-7-2 部分字符串的取代 285
范例14-8:子字符串的取代 285
14-8 字符串与数值的转换 286
范例14-9:将数值转为字符串 287
14-9 习题 287
第15章 输出与输入 289
15-1 以数据流处理数据的输出/输入 291
15-1-1 数据流的概念 291
15-1-2 Java中的数据流类 291
15-1-3 默认定义的数据流对象 292
范例15-1:默认定义数据流类对象的应用 293
15-2 从屏幕(键盘)读取数据 293
15-2-1 利用缓冲区读取字符 293
范例15-2:读取字符 294
15-2-2 输入字符串 295
范例15-3:由键盘输入字符串 295
范例15-4:数据转换的应用 296
15-3 从文件取得数据 297
15-3-1 FileReader类的使用 297
15-3-2 从文件中读取字符 298
范例15-5:从文件中读取数个字符 298
范例15-6:判断是否为空文件 299
范例15-7:读取所有文件数据 301
15-3-3 读取一行字符 302
范例15-8:从文件中读取一行数据 303
15-3-4 略过数据不读取 303
范例15-9:略过字符不读取 304
15-4 将数据写入文件 305
15-4-1 FileWriter类的使用 305
15-4-2 将数据写入文件 305
范例15-10:将数据写入文件 306
15-4-3 将写入数据分行 307
范例15-11:将写入数据分行 308
15-5 习题 310
第16章 异常处理 311
16-1 什么是异常处理 313
16-1-1 臭虫(Bug)外传 313
16-1-2 异常处理-What and Why 314
16-2 异常处理的机制 314
16-2-1 异常处理的语法 314
范例16-1:try-catch区块的使用 315
16-2-2 throw语句 315
范例16-2:自行触发异常 316
范例16-3:从方法中触发异常 317
16-2-3 Java的异常类 318
16-3 自定义异常类 318
范例16-4:自定义异常子类的应用 319
16-4 习题 321
第17章 多线程 323
17-1 Process与Thread的概念 325
17-2 Thread类的使用 326
17-2-1 简介Thread类 326
17-2-2 线程的建立与名称的取得 326
范例17-1:主线程的取得 326
17-2-3 自定义线程类与线程的激活、终止 327
范例17-2:自定义线程类 328
17-2-4 isAlive与join方法的应用 329
范例17-3:isAlive与join的应用 329
17-3 Runnable接口 332
范例17-4:Runnable接口的应用 333
17-4 同步(Synchronized) 334
范例17-5:同步应用 335
17-5习题 337