第1章 Java语言概述 1
1.1 Java语言的发展和特点 1
1.1.1 Java语言的发展 1
1.1.2 Java语言的特点 4
1.1.3 Java程序的工作机制 7
1.2 Java程序的开发工具 8
1.2.1 Java2 SDK开发工具 8
1.2.2 Java集成开发环境 9
1.2.3 Java程序的编辑、编译和运行 10
1.3 Java程序举例 11
1.3.1 Java应用程序 11
1.3.2 Java小程序 12
本章小结 14
习题 15
第2章 Java语言基础 16
2.1 标识符、保留字和分隔符 16
2.1.1 标识符 17
2.1.2 关键字 17
2.1.3 注释 18
2.2 数据类型概述 18
2.2.1 数据类型的划分 19
2.2.2 常量和变量 19
2.3 类型转换 26
2.4 运算符与表达式 27
2.4.1 算术表达式 27
2.4.2 赋值表达式 29
2.4.3 表达式语句 31
2.4.4 关系表达式 32
2.4.5 逻辑表达式 32
2.4.6 位运算 33
2.4.7 条件运算符(三元运算符) 34
2.4.8 对象运算符 35
2.4.9 运算符的优先级 35
2.5 简单输入输出 36
2.6 应用实例 37
本章小结 38
习题 39
第3章 控制结构 41
3.1 选择结构 41
3.1.1 if语句 41
3.1.2 switch语句 45
3.2 循环结构 47
3.2.1 while语句 47
3.2.2 do-while语句 48
3.2.3 for语句 49
3.2.4 循环语句比较 50
3.2.5 循环控制要点 50
3.2.6 循环嵌套 51
3.3 跳转控制语句 52
3.3.1 break语句 52
3.3.2 continue语句 54
3.3.3 return语句 55
3.4 方法 56
3.4.1 方法的定义与调用 56
3.4.2 方法调用时参数的传递 58
3.4.3 方法体中的局部变量 60
3.4.4 方法递归调用 61
3.5 应用实例 63
本章小结 65
习题 65
第4章 面向对象程序设计 67
4.1 面向对象的基本概念 67
4.1.1 对象 67
4.1.2 消息 68
4.1.3 类 68
4.1.4 面向对象的基本特征 68
4.2 类和对象 69
4.2.1 类的声明和类成员 69
4.2.2 方法重载 71
4.2.3 构造方法与对象的创建 72
4.2.4 修饰符static 73
4.2.5 关键字this 75
4.3 继承 76
4.3.1 类继承概述 76
4.3.2 类继承的实现 76
4.3.3 成员变量的隐藏和方法的重写 78
4.3.4 关键字super 80
4.3.5 修饰符final 81
4.4 抽象类 82
4.4.1 抽象类的声明 82
4.4.2 抽象类的使用 83
4.5 接口 84
4.5.1 接口的声明 84
4.5.2 接口的实现 85
4.5.3 接口的继承 86
4.6 包 87
4.6.1 包的创建 87
4.6.2 包的引用 88
4.6.3 访问权限 89
4.6.4 CLASSPATH环境变量 93
4.7 内部类 94
4.8 匿名类 96
4.9 基本数据类型的类包装 96
4.10 JAR文件 99
4.11 应用实例 100
4.11.1 实例一:汽车展览问题 100
4.11.2 实例二:银行存款问题 101
4.11.3 实例三:数字计算器 102
本章小结 103
习题 104
第5章 字符串和正则表达式 107
5.1 字符串常量 107
5.2 String类字符串 108
5.2.1 String类字符串的定义 108
5.2.2 String类字符串的基本操作 109
5.3 StringBuffer类字符串 116
5.3.1 StringBuffer类字符串的定义 116
5.3.2 StringBuffer类字符串的基本操作 118
5.4 main()方法的参数 122
5.5 StringTokenizer类 123
5.6 正则表达式 124
5.6.1 正则表达式 124
5.6.2 模式匹配 128
5.7 应用实例 131
5.7.1 实例一:字符串分析,统计单词个数 131
5.7.2 实例二:字符串加密 132
5.7.3 实例三:E-mail地址匹配 132
本章小结 134
习题 134
第6章 数组及常用类 135
6.1 一维数组 135
6.1.1 一维数组的定义 135
6.1.2 一维数组的初始化 136
6.1.3 一维数组的使用 137
6.1.4 对象数组 139
6.2 多维数组 141
6.2.1 二维数组的定义 141
6.2.2 二维数组的初始化 141
6.2.3 二维数组的使用 142
6.3 Vector<E>类 144
6.4 应用实例 147
6.4.1 实例一:冒泡排序 147
6.4.2 实例二:杨辉三角形 148
本章小结 150
习题 150
第7章 异常处理 152
7.1 异常概述 152
7.1.1 异常基本概念 152
7.1.2 异常处理机制 153
7.2 异常类 153
7.2.1 异常类的层次和主要子类 153
7.2.2 异常类的构造函数和方法 155
7.3 异常处理 155
7.3.1 try-catch-finally语句 155
7.3.2 throw语句 161
7.3.3 throws子句 162
7.4 自定义异常 164
7.5 应用实例 165
7.5.1 实例一:判断输入的整数是否为素数 165
7.5.2 实例二:在算术运算中应用异常处理 166
7.5.3 实例三:方程中应用异常处理 169
本章小结 170
习题 171
第8章 输入/输出流 173
8.1 输入/输出流概述 173
8.1.1 输入/输出流的概念 173
8.1.2 输入/输出类层次 174
8.1.3 标准输入/输出 174
8.2 文件 175
8.2.1 文件与目录 175
8.2.2 文件的操作 176
8.2.3 运行可执行文件 177
8.3 字节流 178
8.3.1 文件输入/输出字节流 178
8.3.2 缓冲字节流 180
8.3.3 数据流 180
8.4 字符流 181
8.4.1 文件输入/输出字符流 181
8.4.2 缓冲字符流 182
8.4.3 字节流与字符流比较 183
8.5 对象的串行化 183
8.5.1 串行化的概念 183
8.5.2 串行化的方法 184
8.5.3 串行化的注意事项 185
8.6 文件的随机访问 185
8.6.1 RandomAccessFile类 185
8.6.2 随机读写文件 186
本章小结 187
习题 187
第9章 线程 189
9.1 线程概述 189
9.1.1 线程的概念 189
9.1.2 Java中的多线程 190
9.1.3 线程的状态和生命周期 190
9.1.4 线程的优先权和调度 191
9.2 线程的创建 192
9.2.1 关于主线程 192
9.2.2 创建一个线程 193
9.2.3 创建多线程 197
9.3 线程的基本控制方法 198
9.3.1 结束线程 198
9.3.2 检查线程 199
9.3.3 挂起线程 199
9.4 多线程的同步与死锁 201
9.4.1 多线程的同步 201
9.4.2 死锁 205
9.5 应用实例 207
9.5.1 实例一:模拟学生上课 207
9.5.2 实例二:堆栈操作编程 208
9.5.3 实例三:模拟排队买票 210
本章小结 213
习题 214
第10章 图形用户界面GUI 215
10.1 GUI基础 215
10.1.1 AWT组件 215
10.1.2 容器、组件、布局 216
10.2 顶级容器Frame类与中间容器Panel类 217
10.3 布局设计 218
10.3.1 FlowLayout布局管理器 219
10.3.2 BorderLayout布局管理器 219
10.3.3 GridLayout布局管理器 220
10.3.4 GridBagLayout布局管理器 221
10.3.5 CardLayout布局管理器 221
10.4 事件处理 222
10.4.1 事件处理机制 222
10.4.2 事件处理方法 223
10.4.3 事件适配器 224
10.4.4 典型事件处理 226
10.5 Swing组件体系结构 229
10.6 常用Swing组件 230
10.6.1 窗体JFrame 230
10.6.2 面板JPanel 231
10.6.3 标签JLabel 232
10.6.4 按钮JButton 232
10.6.5 文本组件 234
10.6.6 复选框 236
10.6.7 单选按钮 237
10.6.8 列表 239
10.6.9 表格 240
10.6.10 树 242
10.7 菜单组件 244
10.8 应用实例 248
10.8.1 实例一:简单计算器 248
10.8.2 实例二:简单记事本 252
10.8.3 实例三:简易日历 254
本章小结 258
习题 258
第11章 Java网络编程 260
11.1 Java网络运行机制 260
11.1.1 网络基础知识 260
11.1.2 网络基本概念 260
11.1.3 两类传输协议 261
11.1.4 Java网络运行机制 262
11.2 URL编程 262
11.2.1 什么是URL 262
11.2.2 URL编程 263
11.3 Socket通信机制 267
11.3.1 Socket通信 267
11.3.2 Socket与ServerSocket类 268
11.4 数据报通信 271
11.4.1 数据报通信简介 271
11.4.2 数据报通信的表示方法 272
11.5 应用实例 273
11.5.1 实例一:使用套接字传输数据 273
11.5.2 实例二:基于UDP的C/S网络传输模型 275
本章小结 277
习题 278
第12章 Java Applet 279
12.1 Applet的创建和执行 279
12.1.1 Applet类的结构 279
12.1.2 Applet的生命周期和运行原理 280
12.1.3 Applet和HTML 282
12.1.4 Applet的执行 284
12.2 Applet的绘制 284
12.2.1 在Applet中使用组件 284
12.2.2 在Applet中绘制图形 285
12.2.3 在Applet中绘制图像 289
12.2.4 在Applet中播放声音 291
12.3 Applet的网络应用 292
12.3.1 使用URL 292
12.3.2 使用Socket 293
12.4 应用实例 293
12.4.1 实例一:网页日历 293
12.4.2 实例二:使用Applet制作广告 296
12.4.3 实例三:使用Applet读取服务器端文件 296
本章小结 298
习题 298
第13章 综合实例 300
13.1 建立一个带有上下左右滚动条的文本区 300
13.2 创建下拉菜单 301
13.3 向菜单项中添加事件 302
13.3.1 实现“退出”菜单项功能 302
13.3.2 实现“新建”菜单项功能 304
13.3.3 实现“打开”菜单项功能 305
13.3.4 实现“保存”菜单项功能 308
13.3.5 实现“复制”、“剪切”、“粘贴”菜单项功能 310
13.3.6 实现“字体”菜单项功能 312
13.3.7 实现“前景色”菜单项功能 316
13.3.8 实现“背景色”菜单项功能 319
13.3.9 实现“关于…”菜单项功能 319
本章小结 325
习题 326
参考文献 327