Java语言是面向对象的编程语言,具有跨平台、安全、稳定以及多线程等优良特性,在网络程序开发、移动程序开发方面使用广泛,是目前最常用的编程语言之一。全书共分为15章,分别介绍了Java的基本数据类型结构、语句、类与对象、方法、数组、类的深入探讨、继承与多态、接口、异常处理、Java常用类、图形用户界面、文件和流、线程等内容。本书注重面向对象的编程实践和问题分析能力的训练,使用大量例题来帮助理解和应用知识,并且对Java 8的部分新特性进行了介绍。本书通俗易懂,便于自学,每一章都配有应用举例,以帮助读者理解该章节的主要内容。
姚晓玲,副教授。1997年至今在临沂大学信息学院承担计算机类课程教学与研究工作。省精品课程群课程"Java程序设计”负责人(第2位)、校级双语课程建设项目"Java双语课程建设”主持人。
第1章 Java概述 1
1.1 JAVA、互联网和其他 1
1.1.1 Java平台简介 1
1.1.2 万维网与互联网 1
1.1.3 Java发展历史 2
1.2 JAVA的特点 3
1.3 第一个JAVA 程序 3
1.4 编写、编译、执行JAVA程序 4
1.4.1 Java源程序的创建 4
1.4.2 编译Java源文件 5
1.4.3 执行Java字节码文件 5
关键术语 6
本章小结 6
复习题 7
第2章 程序设计基础 8
2.1 JAVA程序的基本结构 8
2.1.1 算法与程序 8
2.1.2 Java程序基本结构 8
2.2 标识符与关键字 9
2.2.1 标识符的组成 9
2.2.2 关键字 10
2.3 控制台输入输出 10
2.3.1 控制台输出 10
2.3.2 Scanner类的使用 11
2.4 变量 12
2.4.1 变量的声明 13
2.4.2 变量的使用 13
2.5 常量 13
2.5.1 字面常量 13
2.5.2 有名常量 14
2.6 算术运算和位运算 14
2.6.1 算术运算符和算术表达式 15
2.6.2 整数的算术运算 15
2.6.3 浮点数的算术运算 16
2.6.4 算术混合运算的精度 17
2.6.5 位运算 18
2.7 赋值语句和赋值表达式 19
2.7.1 赋值表达式 19
2.7.2 赋值语句 20
2.8 数据类型转换 20
2.8.1 类型的默认转换 20
2.8.2 强制类型转换 20
2.8.3 字符串和基本数据类型
数据的转换 21
2.9 字符数据类型及其运算 22
2.10 JAVA程序设计风格 23
2.10.1 命名规范 23
2.10.2 Java样式文件 24
2.10.3 代码的编写风格 24
关键术语 25
本章小结 25
复习题 26
第3章 分支结构 29
3.1 BOOLEAN数据类型 29
3.2 关系运算符和关系表达式 29
3.3 逻辑运算符和逻辑表达式 30
3.3.1 非(!)运算 30
3.3.2 与(&&)运算 31
3.3.3 或(||)运算 31
3.3.4 位运算符做逻辑运算 32
3.4 IF语句 32
3.4.1 if 语句 33
3.4.2 if-else语句 34
3.4.3 if-else-if语句 35
3.4.4 if-else常见问题 37
3.5 SWITCH语句 37
3.6 条件表达式 39
3.7 格式化控制台输出 40
3.8 应用示例 41
关键术语 43
本章小结 43
复习题 44
第4章 循环结构 47
4.1 WHILE循环 47
4.2 DO-WHILE 循环 48
4.3 FOR 循环 49
4.4 循环嵌套和编程方法 50
4.4.1 循环嵌套 50
4.4.2 编程方法 51
4.5 BREAK和CONTINUE 52
4.5.1 break语句 52
4.5.2 continue语句 53
4.6 循环示例 54
4.6.1 for循环实现实例 54
4.6.2 while循环语句实现实例 55
关键术语 55
本章小结 56
复习题 56
第5章 类和对象 60
5.1 类、对象、方法、成员变量 60
5.2 定义类和对象 61
5.2.1 定义类 61
5.2.2 创建对象 61
5.2.3 访问对象的属性和方法 62
5.3 方法的基本定义 63
5.3.1 方法定义格式 63
5.3.2 return语句 65
5.3.3 方法调用 65
5.3.4 方法调用的一般过程 66
5.3.5 成员方法和成员变量的关系 67
5.4 SET和GET方法 68
5.4.1 setter方法的一般形式 68
5.4.2 getter方法 70
5.5 构造方法 72
5.6 基本数据类型和引用类型 74
5.7 JAVA的包装类 76
5.7.1 int和Integer类之间的转换 77
5.7.2 Integer类的常用方法 77
5.7.3 装箱和拆箱 78
5.8 INSTANCEOF运算符 79
5.9 应用示例 79
关键术语 81
本章小结 81
复习题 82
第6章 方法 84
6.1 方法的定义 84
6.2 方法的调用 85
6.3 参数的值传递 87
6.4 方法重载 89
6.5 变量的作用域 90
6.6 参数可变的方法 91
6.7 递归 92
6.8 方法示例 93
6.9 MATH数学类方法 94
6.9.1 Math类的两个字段 94
6.9.2 Math类的部分数学方法 94
关键术语 95
本章小结 96
复习题 96
第7章 数组 99
7.1 数组 99
7.1.1 什么是数组 99
7.1.2 声明数组 99
7.1.3 数组的创建 99
7.1.4 声明、创建数组并初始化 100
7.1.5 数组元素的访问 100
7.1.6 数组长度属性length 101
7.2 数组的基本应用 102
7.2.1 数组排序 102
7.2.2 数组查找 104
7.3 数组的进一步探讨 105
7.3.1 数组与foreach语句 105
7.3.2 数组与方法 106
7.3.3 数组与对象 107
7.4 二维数组 109
7.4.1 二维数组的声明、创建和初始化 109
7.4.2 访问二维数组元素 110
7.4.3 二维数组的length属性 110
7.4.4 二维数组的应用举例 111
7.5 ARRAYS类 111
7.6 数组应用示例 113
关键术语 117
本章小结 117
复习题 118
第8章 类的深入探讨 122
8.1 面向对象编程的三个特征 122
8.2 类的组织形式――包 123
8.2.1 包的声明 123
8.2.2 导入包的类 124
8.2.3 Java中的常用包 124
8.3 类的其他特性 125
8.3.1 访问权限修饰符 125
8.3.2 构造方法重载 129
8.3.3 this关键字 131
8.3.4 static关键字 133
8.4 枚举 137
8.4.1 枚举的定义 137
8.4.2 枚举的使用 137
8.5 内部类 138
8.5.1 成员内部类 138
8.5.2 局部内部类 140
8.6 类与类之间的关系 142
8.6.1 类的UML图 142
8.6.2 依赖关系 143
8.6.3 关联关系 143
8.6.4 聚合关系 144
8.6.5 组合关系 146
8.7 类的设计原则 146
8.8 注解 147
8.8.1 基本Annotation 148
8.8.2 自定义的注解 149
8.8.3 注解的注解 150
8.9 泛型 151
8.9.1 泛型类的声明 151
8.9.2 泛型对象的声明和创建 152
8.10 类的应用示例 152
关键术语 154
本章小结 154
复习题 155
第9章 继承和多态 158
9.1 继承 158
9.1.1 继承在Java中的实现 158
9.1.2 方法重写 159
9.1.3 访问权限修饰符protected 160
9.1.4 super关键字 161
9.1.5 继承下的构造方法 162
9.2 OBJECT 类介绍 163
9.3 抽象类和最终类 166
9.3.1 抽象类和抽象方法 166
9.3.2 最终类和最终方法 167
9.4 多态 168
9.4.1 父类引用指向子类对象 168
9.4.2 多态的实现 168
9.5 继承和多态示例 169
9.5.1 四则运算程序 169
9.5.2 动物喂养案例 173
9.5.3 舒舒租车系统 176
关键术语 182
本章小结 182
复习题 183
第10章 接口 189
10.1 接口 189
10.1.1 接口的定义 189
10.1.2 接口的实现 189
10.1.3 接口和抽象类的关系 190
10.1.4 接口的UML表示 191
10.2 接口与多态 191
10.2.1 接口实现多态 191
10.2.2 面向接口的编程 192
10.3 匿名内部类 194
10.4 JAVA常用接口 195
10.5 接口的新特性 197
10.5.1 默认方法 197
10.5.2 接口的静态方法 198
10.5.3 函数式接口 199
10.6 LAMBDA表达式 199
10.6.1 lambda表达式的语法 200
10.6.2 lambda表达式与函数式接口 200
10.7 接口的应用示例 201
关键术语 203
本章小结 203
复习题 203
第11章 异常处理 208
11.1 异常概述 208
11.2 异常类型 209
11.2.1 Error类 210
11.2.2 Exception类 210
11.3 TRY-CATCH-FINALLY语句 211
11.3.1 多catch语句段
的try-catch语句 211
11.3.2 try-catch-finally与return语句 212
11.3.3 try-catch语句的嵌套 214
11.3.4 try语句块中自动释放资源 215
11.3.5 一个catch语句块捕获
多种类型异常对象 215
11.4 THROW异常的抛出 216
11.4.1 throw抛出异常 216
11.4.2 throws子句 217
11.4.3 异常抛出和子类 218
11.5 自定义异常 218
11.6 异常应用示例 218
关键术语 220
本章小结 220
复习题 220
第12章 Java常用类 223
12.1 STRING类和STRINGBUFFER类 223
12.1.1 构造字符串对象 223
12.1.2 字符串特性 224
12.1.3 字符串对象不可变性 226
12.2 STRINGBUFFER类 227
12.2.1 StringBuffer类创建对象 227
12.2.2 StringBuffer类常用方法 228
12.3 大数类 229
12.3.1 BigInteger类 229
12.3.2 BigDecimal类 230
12.4 JAVA常用日期处理类 232
12.4.1 Date类 233
12.4.2 Calendar类 234
12.4.3 DateFormat类 236
12.4.4 SimpleDateFormat类 237
12.5 JAVA集合框架 238
12.5.1 List列表接口 239
12.5.2 Set集合接口 240
12.5.3 Map映射接口 241
12.6 COLLECTIONS类 242
12.7 CLASS类 244
12.8 集合应用示例 246
关键术语 247
本章小结 247
复习题 247
第13章 图形用户界面 249
13.1 AWT和SWING 249
13.1.1 AWT介绍 249
13.1.2 Swing介绍 250
13.2 窗体 251
13.3 面板 253
13.4 SWING常用组件 254
13.4.1 标签 254
13.4.2 按钮 254
13.4.3 文本框 255
13.4.4 文本域 256
13.4.5 单选按钮 257
13.4.6 复选框 258
13.4.7 菜单条、菜单和菜单项 259
13.5 布局管理 261
13.5.1 流式布局管理器 262
13.5.2 边界式布局
管理器BorderLayout 262
13.5.3 网格式布局管理器 263
13.6 事件驱动程序设计 264
13.6.1 事件模型 264
13.6.2 Java事件类、监听器
接口和适配器类 265
13.6.3 事件处理实现方式 268
13.7 常用事件类及事件处理 270
13.7.1 窗口事件及处理 270
13.7.2 动作事件及处理 271
13.7.3 选择事件及处理 272
13.7.4 键盘事件及处理 273
13.8 图形用户界面应用实例 274
关键术语 278
本章小结 278
复习题 278
第14章 文件和流 281
14.1 FILE类 281
14.2 输入流和输出流 284
14.3 二进制流 284
14.3.1 InputStream类
和OutputStream类 285
14.3.2 FileInputStream类
和FileOutputStream类 287
14.3.3 BufferedInputStream类
和BufferedOutputStream类 291
14.3.4 DataInputStream类
和DataOutputStream类 292
14.4 字符流 293
14.4.1 Reader类和Writer类 293
14.4.2 FileReader类和FileWriter类 296
14.4.3 InputStreamReader类
和OutputStreamWriter类 297
14.4.4 BufferedReader类
和BufferedWriter类 298
14.5 随机流 299
14.6 流的应用示例 300
关键术语 301
本章小结 301
复习题 302
第15章 线程 304
15.1 线程的定义 304
15.1.1 进程、线程与多线程 304
15.1.2 Java的多线程机制 304
15.1.3 主线程 305
15.2 线程的创建和运行 305
15.2.1 继承Thread类创建线程 305
15.2.2 实现Runnable接口创建线程 306
15.2.3 两种多线程实现
机制的比较 307
15.3 线程状态 309
15.3.1 线程的状态 309
15.3.2 线程的调度 311
15.3.3 线程操作方法 314
15.4 线程的同步 317
15.4.1 同步代码块 317
15.4.2 同步方法 318
关键术语 319
本章小结 319
复习题 319
附录A Java的下载、安装与配置 322
附录B Eclipse下载与安装 326
附录C Java运算符的优先级和结合性 335
附录D Java API使用 336
附录E JUnit测试工具的使用 339