第1章 Java语言及其开发环境 1
1.1 Java的诞生与发展 1
1.1.1 Internet与Web 1
1.1.2 Java的起源 1
1.1.3 Java的应用 2
1.2 Java与C/C++的联系与区别 3
1.2.1 Java与C++ 3
1.2.2 Java与C 3
1.3 Java语言的特点 5
1.4 Java程序的类型及其不同的编程模式 7
1.5 建立Java开发环境 8
1.5.1 JDK的获得与安装 8
1.5.2 运行环境的配置 9
1.6 Java应用程序的开发与运行 11
1.6.1 Java应用程序开发过程简介 11
1.6.2 Java Application程序示例及运行 11
1.6.3 Java Applet程序示例及运行 14
1.6.4 开发Java应用程序的注意事项 16
思考与练习 16
第2章 Java语言基础 18
2.1 Java语言的基本组成 18
2.1.1 标识符 18
2.1.2 关键字 19
2.1.3 分隔符 19
2.2 数据类型 20
2.2.1 基本数据类型 20
2.2.2 直接量 21
2.2.3 变量 23
2.3 运算符与表达式 26
2.3.1 赋值运算符 26
2.3.2 算术运算符 27
2.3.3 关系运算符 28
2.3.4 逻辑运算符 29
2.3.5 条件运算符 29
2.3.6 位运算符 30
2.3.7 其他运算符 32
2.3.8 运算符的优先级 32
2.4 Math类的常用操作 32
2.5 Java的输入/输出 34
2.5.1 标准输入/输出方法 35
2.5.2 流式交互输入/输出 38
2.5.3 GUI图形界面输入方法 40
2.5.4 自定义输入方法 41
思考与练习 44
第3章 程序控制结构 46
3.1 Java程序控制结构 46
3.2 条件语句 46
3.2.1 简单if语句 47
3.2.2 if...else语句 47
3.2.3 if语句的嵌套 48
3.2.4 switch语句 51
3.2.5 条件表达式 53
3.3 循环结构 53
3.3.1 while循环 54
3.3.2 do while循环 55
3.3.3 for循环 56
3.3.4 循环嵌套 58
3.3.5 循环结构小结 59
3.4 跳转语句 60
3.5 常见问题的求解 62
3.5.1 迭代算法 62
3.5.2 穷举算法 63
3.5.3 复杂程序解决方案和方法 64
思考与练习 71
第4章 数组 75
4.1 数组简介 75
4.2 一维数组 76
4.2.1 声明数组变量 76
4.2.2 创建数组 76
4.2.3 数组的大小和默认值 76
4.2.4 数组下标变量 77
4.2.5 数组初始化 77
4.2.6 把数组传递给方法 79
4.2.7 一维数组的排序 80
4.3 多维数组 82
4.3.1 声明多维数组变量和创建多维数组 82
4.3.2 求多维数组的长度 82
4.4 数组的查找 85
4.4.1 线性查找法 85
4.4.2 二分查找法 86
思考与练习 88
第5章 Java面向对象程序设计基础 90
5.1 面向对象技术的编程特点 90
5.2 类的结构 92
5.2.1 类声明 92
5.2.2 返回值 94
5.2.3 创建对象 95
5.2.4 构造方法 97
5.3 类的成员 97
5.3.1 成员变量和局部变量 97
5.3.2 关键字this 98
5.3.3 类方法和实例方法 99
5.3.4 访问权限 100
5.4 类的继承和接口 101
5.4.1 类的继承 101
5.4.2 重写和关键字super 102
5.4.3 final类和abstract类 103
5.4.4 类的接口 104
5.5 包和import语句 105
5.5.1 package语句 105
5.5.2 import语句 107
5.5.3 常用的包和类 107
5.5.4 Math类 110
5.6 String类 111
5.6.1 字符串变量 111
5.6.2 String类的方法 113
5.6.3 数据类型的转换 118
思考与练习 122
第6章 Applet程序的开发 125
6.1 Applet简介 125
6.1.1 Applet类 125
6.1.2 Applet程序的特点 125
6.2 Applet程序的运行 126
6.2.1 HTML文件 126
6.2.2 运行HTML文件 127
6.3 Applet类的方法 129
6.3.1 Applet类方法一览 129
6.3.2 不需要调用的方法 130
6.4 Applet程序的应用 132
6.4.1 在Applet中添加按钮 132
6.4.2 Applet中的cardLayout布局 133
6.5 Applet程序开发实例 135
思考与练习 138
第7章 创建图形用户界面 140
7.1 图形用户界面 140
7.2 事件处理 141
7.2.1 事件和事件源 142
7.2.2 事件注册、监听和处理 143
7.2.3 事件处理 145
7.3 窗口与组件 149
7.3.1 窗口——JFrame类 150
7.3.2 面板——JPanel类 150
7.3.3 标签——JLabel类 151
7.3.4 按钮——JButton类 151
7.3.5 文本框——JTextField类与JPasswordField类 151
7.3.6 文本区——JTextArea类 152
7.3.7 列表组件——JComboBox类和JList类 154
7.3.8 滚动窗格——JScrollPane类 156
7.3.9 复选框和单选按钮——JCheckBox类和JRadioButton类 157
7.3.10 滑动条——JSlider类 160
7.3.11 创建多个窗口 161
7.4 菜单与对话框 164
7.4.1 为窗口加入菜单 164
7.4.2 弹出式菜单 168
7.4.3 对话框 169
7.5 布局管理器 174
7.5.1 顺序布局——FlowLayout 174
7.5.2 边界布局——BorderLayout 175
7.5.3 网格布局——GridLayout 176
7.5.4 卡片布局——CardLayout 176
7.5.5 手工布局 177
7.6 开发实例 178
思考与练习 182
第8章 数据库编程 184
8.1 数据库的概念 184
8.2 结构化查询语言(SQL) 185
8.2.1 SELECT语句 186
8.2.2 INSERT语句 187
8.2.3 UPDATE语句 188
8.2.4 DELETE语句 188
8.3 JDBC的概念 188
8.3.1 Java数据库连接 189
8.3.2 创建数据源 190
8.4 使用JDBC连接数据库 192
8.4.1 装入驱动器 192
8.4.2 连接到数据库 192
8.5 数据库操作 193
8.5.1 向数据库发送SQL语句 193
8.5.2 处理SQL执行结果 194
8.5.3 处理带参数的查询 197
思考与练习 202
第9章 多媒体应用 204
9.1 Java与图形 204
9.1.1 直线 205
9.1.2 矩形 205
9.1.3 椭圆 206
9.1.4 圆弧 206
9.1.5 多边形 207
9.2 颜色与字体控制 208
9.2.1 颜色 208
9.2.2 字体控制 209
9.3 图像处理 211
9.3.1 Image类 211
9.3.2 URL对象参数 212
9.3.3 设置Java窗口的图标 214
9.4 播放声音 214
9.4.1 声音的自动播放 215
9.4.2 控制声音播放 215
9.4.3 多线程的声音播放程序 216
9.5 播放视频 219
9.5.1 创建一个播放器 219
9.5.2 播放器注册监听 220
9.5.3 播放器预提取媒体文件 220
9.5.4 启动播放器播放媒体文件 220
9.5.5 停止播放媒体文件 220
9.5.6 创建实用的多媒体播放器 220
思考与练习 223
第10章 流、多线程与网络编程 225
10.1 流 225
10.1.1 Java流的基本概念 225
10.1.2 数据流的应用 226
10.1.3 Java文件管理 228
10.2 多线程 229
10.2.1 多线程的基础 229
10.2.2 多线程的实现 230
10.2.3 线程的生命周期 232
10.2.4 线程状态转换 233
10.2.5 多线程的同步 236
10.2.6 多线程的问题 240
10.3 网络编程 240
10.3.1 URL编程 240
10.3.2 使用URL类访问网络资源 241
10.3.3 客户/服务器通过流Socket连接的交互 241
10.3.4 无连接的客户/服务器通过数据报的交互 245
思考与练习 249
第11章 错误与异常处理 251
11.1 程序错误及类型 251
11.1.1 语法错误 251
11.1.2 运行错误 252
11.1.3 逻辑错误 252
11.2 程序调试 253
11.3 异常和异常类型 253
11.3.1 异常类 255
11.3.2 必检异常和免检异常 256
11.4 异常处理 256
11.4.1 声明异常 256
11.4.2 抛出异常 257
11.4.3 捕获异常 257
11.5 重新抛出异常 261
11.6 finally子句 262
11.7 使用异常 262
11.8 断言 263
11.8.1 声明断言 263
11.8.2 运行带断言的程序 264
11.8.3 使用异常处理或断言 264
思考与练习 264
第12章 开发工具的应用 267
12.1 J2EE与Eclipse 267
12.1.1 J2EE技术 267
12.1.2 为什么要在Eclipse下开发J2EE程序 268
12.2 下载并安装Eclipse 269
12.3 安装语言包 269
12.4 第一个Java实例 269
12.4.1 新建Java项目 270
12.4.2 配置构建路径 270
12.4.3 新建Java类 270
12.4.4 设置命令行参数 271
12.4.5 运行实例 271
12.5 Java应用程序实例 272
12.5.1 排序算法的Java实现 272
12.5.2 猜数字游戏 274
12.5.3 通过FTP传递文件 276
12.6 SWT界面开发实例 277
12.6.1 使用Shell创建窗口 278
12.6.2 简单的用户密码验证器 280
12.6.3 文件选择器 283
思考与练习 286
参考资料 287