本书面向以Java为入门语言的程序设计课程,力求通过“激发兴趣、强化实践”的方式培养学生的程序设计能力。 全书共分为9章,内容包括Java程序设计概述、Java语言基础、程序流程控制、数组、类与对象、类的继承、异常处理和输入/输出、图形用户界面,以及集合、反射与泛型。本书注重面向对象的编程实践和问题分析能力的训练,使用大量例题帮助读者理解和应用知识,通俗易懂,便于自学。 本书适合作为高等学校程序设计相关课程的教材,也可以作为自学用书。
韩建平,男,博士,教授,计算机科学与技术学科硕士生导师。1990年毕业于南京航空学院计算机软件专业,获得学士学位;1996年毕业于南京航空航天大学计算机应用专业,获得硕士学位;2010年毕业于浙江大学计算机科学与技术专业,获得博士学位。现任计算机学院计算机基础教学部主任。为国家级计算机基础课程团队主要成员,曾获得校十佳教师、校教学杰出奖、校卓越名师提名奖等荣誉。目前主要从事图像处理与模式识别、视觉监控、嵌入式系统及应用等方面的研究与开发应用,近年来主持和参与省级以上科研10余项及教改项目4项,在中国图象图形学报等期刊发表学术论文20余篇,主编教材5部,其中一部为省级重点建设教材;成果先后获得浙江省科技进步二等奖、浙江省教学成果一等奖和国家级教学成果二等奖。
目 录
第1章 Java程序设计概述 1
1.1 Java语言简介 1
1.1.1 程序与程序设计语言 1
1.1.2 Java语言的发展 2
1.1.3 Java语言的特点 3
1.2 Java程序的开发环境 4
1.2.1 JDK 4
1.2.2 Eclipse集成开发环境 4
1.2.3 初识Java程序 6
习题一 7
第2章 Java语言基础 8
2.1 标识符和关键字 8
2.1.1 关键字 8
2.1.2 标识符 9
2.2 常量、变量与基本数据类型 9
2.2.1 基本数据类型 9
2.2.2 常量 11
2.2.3 变量 13
2.3 基本输入与输出语句 14
2.3.1 基本输出语句 14
2.3.2 基本输入语句 16
2.4 运算符与表达式 17
2.4.1 赋值运算符与赋值表达式 17
2.4.2 算术运算符与算术表达式 18
2.4.3 关系运算符与关系表达式 20
2.4.4 逻辑运算符与逻辑表达式 20
2.4.5 其他运算符与表达式 22
2.4.6 表达式的处理规则 23
2.5 范例 25
习题二 27
第3章 程序流程控制 29
3.1 顺序与分支结构 29
3.1.1 顺序结构 29
3.1.2 if语句实现分支结构 29
3.1.3 if-else语句实现分支结构 30
3.1.4 嵌套if语句实现多分支结构 32
3.1.5 switch语句实现多分支结构 33
3.2 循环控制结构 34
3.2.1 while语句实现循环结构 35
3.2.2 do-while语句实现循环结构 36
3.2.3 for语句实现循环结构 37
3.2.4 break语句 39
3.2.5 continue语句 40
3.2.6 循环嵌套 41
3.2.7 带标号的break语句 42
3.2.8 带标号的continue语句 43
3.3 方法 44
3.3.1 方法的定义与调用 44
3.3.2 方法的参数和返回值 45
3.3.3 方法的嵌套调用 46
3.3.4 方法的递归调用 47
3.4 范例 47
习题三 58
第4章 数组 61
4.1 一维数组 61
4.1.1 一维数组的声明与访问 61
4.1.2 顺序查找 64
4.1.3 二分查找 64
4.1.4 选择排序 65
4.1.5 冒泡排序 66
4.2 二维数组 67
4.2.1 二维数组的声明、创建与初始化 67
4.2.2 用二维数组表示矩阵 69
4.3 范例 71
习题四 77
第5章 类与对象 80
5.1 类的定义与对象的创建 80
5.1.1 类的定义——通用描述 80
5.1.2 对象的创建与引用 81
5.1.3 构造方法与对象初始化 82
5.1.4 方法的重载 85
5.1.5 this关键字 86
5.2 类的静态成员 88
5.2.1 静态变量 88
5.2.2 静态方法 89
5.3 Java常用类 90
5.3.1 String类 90
5.3.2 StringBuffer类 92
5.3.3 Math类 94
5.3.4 Date类 95
5.4 范例 95
习题五 103
第6章 类的继承 109
6.1 继承的基本方法 109
6.1.1 子类的定义 109
6.1.2 覆盖父类方法 110
6.1.3 重载父类方法 111
6.1.4 super关键字 112
6.2 访问控制属性 113
6.2.1 类与包 113
6.2.2 类的访问控制 115
6.2.3 类成员的访问控制 116
6.3 抽象类与接口 118
6.3.1 抽象方法与抽象类 118
6.3.2 接口 119
6.4 内部类与匿名类 121
6.4.1 内部类 121
6.4.2 匿名类 122
6.5 范例 123
习题六 128
第7章 异常处理和输入/输出 133
7.1 异常处理 133
7.1.1 什么是异常 133
7.1.2 用try-catch-finally结构处理异常 134
7.1.3 用多catch结构处理异常 135
7.1.4 用throws声明抛出异常 137
7.2 输入/输出处理 138
7.2.1 什么是数据流 138
7.2.2 通过FileReader输入流读文件 139
7.2.3 通过FileWriter输出流写文件 140
7.2.4 通过字节流读写文件 141
7.2.5 File类 143
7.2.6 通过RandomAccessFile类读写文件 144
7.3 序列化 146
7.3.1 序列化类实现Serializable接口 146
7.3.2 实现Externalizable接口 147
7.3.3 可序列化类的不同版本的序列化兼容性 147
7.4 范例 149
习题七 154
第8章 图形用户界面 157
8.1 初识GUI 157
8.1.1 窗体JFrame 157
8.1.2 控件嵌套 158
8.2 用户事件响应 159
8.2.1 事件处理模型 159
8.2.2 以内部类的方式实现监听器 161
8.3 布局器 163
8.3.1 流布局器 163
8.3.2 边界布局器 164
8.3.3 网格布局器 166
8.4 常用的Swing控件 167
8.4.1 文本框 167
8.4.2 文本域 169
8.4.3 组合框 170
8.4.4 复选框和单选按钮 171
8.4.5 菜单 173
8.5 绘图 177
8.5.1 添加图片 177
8.5.2 图形绘制 178
8.6 范例 180
习题八 189
第9章 集合、反射与泛型 190
9.1 集合 190
9.1.1 List接口 190
9.1.2 Set接口 198
9.1.3 Map接口 203
9.1.4 Collection接口 207
9.2 反射 210
9.2.1 类反射 210
9.2.2 标注 212
9.3 泛型 214
9.4 范例 219
习题九 231
附录A 232