Java程序设计实例教程

-
【作 者】毕广吉 编著
【I S B N 】978-7-5084-4665-3
【责任编辑】宋俊娥
【适用读者群】本科
【出版时间】2007-06-01
【开 本】16开本
【装帧信息】平装(光膜)
【版 次】第1版
【页 数】276
【千字数】
【印 张】
【定 价】¥26
【丛 书】21世纪高等院校规划教材
【备注信息】
简介
本书特色
前言
章节列表
精彩阅读
下载资源
相关图书
本书由浅入深地介绍Java编程,特点是:第一,本书注重基础知识、基本概念和基本编程方法的介绍,学习本书时不要求读者曾经学习过C、C++等语言,而是直接讲述Java的基本概念和编程方法;第二,本书注重实践过程,用给出的90个具有图形用户界面的、有针对性的、可供实用的实例来阐述Java的编程方法。如果读者把这些实例编制完成并运行成功,对每一条语句都能正确理解,就基本掌握了Java程序设计。
本书可作为高等院校Java语言程序设计课程的教材,也可供其他初学Java语言的读者学习。
Java语言是典型的面向对象的程序设计语言,与面向过程的编程语言相比,学习起来难度较大,使一些初学者望而却步或半途而废。然而正是Java语言的面向对象的特点,使它具有面向过程的编程语言所不具有的诸多优越性,代表了程序设计的最新思想和方法,例如,代码的可重用性、跨平台的特点、适合网上运行、支持多线程等,而且学习Java语言又是进一步学习数据库、JavaScript、JSP等知识的基础,所以大学本科学生学习Java是必要的。
Java语言的语法结构与C、C++相似,类的继承机制等与C++相似,于是图书市场上相当一些教材总是以C、C++为基础来讲解Java。有的书即使不以C、C++为基础,也经常提到“在C++中……”,似乎学习Java就必须先学习C、C++似的,这种书给初学者带来很多困难和困惑。因此,很多读者都在寻找一种真正适合初学者学习的Java教材,很多教师也需要真正适合教学的教材。
本书正是针对这样的需求编写而成的Java语言基础教程。本书由浅入深地介绍Java编程,在有限的篇幅内,以介绍Java基础编程为主,包括继承、多态、重载、覆盖、接口、封装等面向对象程序设计的核心概念和机制,Applet程序设计、Java常用类、图形用户界面、组件、绘图与图像、异常处理、多线程与动画、文件操作、网络编程等,而那些与Java有关的进一步的内容(如JSP等),为防止内容分散没有收入在本书中,而且这些内容并不是靠一章的篇幅就能讲清的。
本书特点如下:
(1)注重基础知识、基本概念和基本编程方法的介绍,真正适合初学者。学习本书时不要求读者曾经学习过C、C++等语言,不像很多书那样借用C、C++的概念对比进行解释,而是直接讲述Java的基本概念和编程方法,使没有学习过C、C++的读者能直接学好Java编程。
(2)注重实践过程,使用实例来阐述和示范Java的编程方法。本书给出了90个具有图形用户界面的、有针对性的、可供实用的实例和一大批小例子,目录中给出了这些实例的索引,其源代码文件可以从中国水利水电出版社网站(http://www.waterpub.com.cn/ softdown/)下载。学习编程最好的方法就是学习实例,如果读者把这些实例编制完成并对每一条语句都能正确理解,就基本掌握了Java程序设计方法。
参加本书编写工作的还有任敏、毕之莹、韩大勇等。本书配套的电子教案(PPT)由苑志旺、钱蓓蓓、钟燕兰、胡世昌制作,谨在此表示感谢。
本书可作为高等院校Java语言程序设计课程的教材,也可供其他初学Java语言的读者学习。本书的所有实例都在Windows 98/2000/XP操作系统以及Java 1.3.0环境下运行通过。
毕广吉
2007年4月
前言
第1章 Java编程语言概述 1
本章学习目标 1
1.1 Java概述 1
1.2 Java的软件环境 2
1.2.1 安装Java软件开发包 2
1.2.2 配置环境变量 2
1.2.3 安装帮助文档 3
1.2.4 安装UltraEdit.exe编辑器 3
1.3 Application程序与Applet程序 3
1.3.1 Java的Application程序与
Applet程序 3
1.3.2 Java程序的编辑、编译和运行 3
1.3.3 第一个Application程序 4
1.3.4 第一个Applet程序 6
1.3.5 改进第一个Applet程序 8
1.4 HTML超文本标记语言简介 10
1.5 UltraEdit编辑软件的设置 12
1.6 初识类与对象 12
1.7 本章小结 13
1.8 习题 13
第2章 Java语言基础 15
本章学习目标 15
2.1 标识符 15
2.2 关键字 15
2.3 基本数据类型 16
2.3.1 基本数据类型简介 16
2.3.2 关于基本数据类型的说明 16
2.3.3 基本数据类型的自动转换 17
2.4 运算符 18
2.4.1 算术运算符 18
2.4.2 自增、自减运算符 18
2.4.3 关系运算符 19
2.4.4 逻辑运算符 20
2.4.5 位运算符 20
2.4.6 条件运算符 21
2.4.7 赋值运算符 22
2.4.8 运算符的优先级和结合性 23
2.5 常量、变量和表达式 24
2.5.1 变量 24
2.5.2 常量 25
2.5.3 表达式 26
2.6 程序流程控制结构 27
2.6.1 选择结构 27
2.6.2 循环结构 28
2.6.3 控制转移语句 30
2.6.4 其他语句 30
2.7 注释 30
2.8 本章小结 31
2.9 习题 31
第3章 类与对象 34
本章学习目标 34
3.1 类 34
3.1.1 类的声明 34
3.1.2 类体 34
3.1.3 类的成员变量 35
3.1.4 类的成员方法 35
3.2 Java的类库 36
3.2.1 自定义类与类库 36
3.2.2 Java的常用类库 36
3.2.3 使用类库的方法 37
3.3 对象 37
3.3.1 对象的声明和实例化 37
3.3.2 引用成员变量和调用成员方法 38
3.3.3 类的特殊方法——构造方法 38
3.4 本章小结 38
3.5 习题 39
第4章 面向对象的程序设计 41
本章学习目标 41
4.1 类的封装 41
4.2 类的继承 41
4.2.1 创建子类 41
4.2.2 this对象和super对象 45
4.2.3 final关键字和abstract关键字 47
4.3 类的多态性 48
4.3.1 多态的概念 48
4.3.2 方法的重载 48
4.3.3 方法的覆盖 49
4.4 静态类成员 51
4.5 接口 52
4.6 包的概念 54
4.7 本章小结 55
4.8 习题 55
第5章 Java常用类 58
本章学习目标 58
5.1 常用的Java类 58
5.1.1 对象类Object 58
5.1.2 数据类型类 59
5.1.3 数学类Math 59
5.1.4 系统类System 60
5.1.5 Class类 61
5.1.6 日期类Date和日历类Calendar 62
5.2 数组和字符串 63
5.2.1 数组 63
5.2.2 字符串String类 66
5.2.3 Application应用程序的命令行参数 72
5.2.4 字符串StringBuffer类 72
5.2.5 字符串数组 73
5.3 Applet类 73
5.3.1 Applet类介绍 73
5.3.2 Applet类的方法 74
5.3.3 从HTML向Applet传递参数
的方法 76
5.4 本章小结 77
5.5 习题 77
第6章 图形用户界面设计 79
本章学习目标 79
6.1 图形用户界面设计与java.awt包 79
6.2 组件Component的概念 80
6.2.1 组件类及其子类 80
6.2.2 组件类的方法 80
6.3 事件Event 81
6.3.1 事件类AWTEvent 81
6.3.2 事件类的接口interface 82
6.3.3 事件适配器Adapter 83
6.4 按钮组件Button 83
6.4.1 按钮组件的方法和事件 83
6.4.2 按钮的使用 84
6.5 与文本有关的组件 86
6.5.1 标签组件Label 86
6.5.2 使用标签组件 87
6.5.3 TextComponent类 88
6.5.4 文本行组件TextField 89
6.5.5 文本域组件TextArea 90
6.5.6 使用文本行和文本域 91
6.6 与选项有关的组件 92
6.6.1 复选框 93
6.6.2 单选按钮组CheckboxGroup 95
6.7 与列表有关的组件 97
6.7.1 选择框组件Choice 98
6.7.2 列表框组件List 100
6.8 滚动条组件Scrollbar 103
6.9 颜色类和字体类 105
6.9.1 颜色类Color 106
6.9.2 字体类Font 108
6.10 容器类及其子类 109
6.10.1 容器类Container 110
6.10.2 框架类Frame 110
6.10.3 面板类Panel 115
6.10.4 对话框Dialog 118
6.11 布局管理器 122
6.11.1 FlowLayout布局 122
6.11.2 BorderLayout布局 122
6.11.3 GridLayout布局 124
6.11.4 GridBagLayout布局 125
6.11.5 null布局 128
6.12 菜单 130
6.12.1 下拉菜单 130
6.12.2 弹出式菜单 135
6.13 Java中的汉字编码 139
6.14 本章小结 141
6.15 习题 141
第7章 绘图与图像 144
本章学习目标 144
7.1 Java绘图基础 144
7.1.1 绘图容器与坐标系 144
7.1.2 画布类Canvas 144
7.1.3 paint方法和repaint方法 145
7.1.4 绘图类Graphics 150
7.2 在组件上绘图 154
7.2.1 绘制任意曲线 154
7.2.2 用drawString和drawChars方法
绘制字符 156
7.3 绘图实例 158
7.3.1 徒手绘图 158
7.3.2 橡皮筋画法 160
7.4 显示图像 163
7.4.1 利用Graphics类显示图片 163
7.4.2 制作相册 164
7.4.3 连续位图动画 167
7.4.4 更换图标 168
7.5 本章小结 169
7.6 习题 170
第8章 异常处理 172
本章学习目标 172
8.1 错误与异常的概念 172
8.2 异常类 172
8.2.1 Throwable类 172
8.2.2 常用的异常类 173
8.3 异常的处理 174
8.3.1 程序异常的实例 174
8.3.2 try-catch-finally结构 177
8.3.3 主动抛出异常 180
8.4 自定义异常类 184
8.5 将异常交系统处理 187
8.6 本章小结 187
8.7 习题 188
第9章 多线程机制与动画 190
本章学习目标 190
9.1 线程的建立 190
9.1.1 进程与线程的概念 190
9.1.2 继承Thread类建立线程 190
9.1.3 用Runnable接口建立线程 193
9.1.4 用Runnable接口建立多线程 196
9.2 关于线程的进一步讨论 198
9.2.1 线程的状态 198
9.2.2 线程的优先级 199
9.2.3 线程组 199
9.3 图像动画 201
9.3.1 用线程控制动画 202
9.3.2 定时器 203
9.3.3 定时器的进一步改进 206
9.3.4 用定时器控制动画的方法 209
9.4 本章小结 212
9.5 习题 212
第10章 文件操作 214
本章学习目标 214
10.1 文件对话框类FileDialog 214
10.2 文件类File 220
10.3 流的概念 221
10.3.1 数据流的概念 221
10.3.2 标准的输入输出 222
10.3.3 java.io包中的数据流类 223
10.4 顺序读写文件 225
10.4.1 用文件输入流顺序读文件 225
10.4.2 用字节流顺序写文件 227
10.4.3 用字符流顺序写文件 229
10.4.4 用文件输入输出流读写文件 230
10.5 使用LineNumberReader类 235
10.6 随机读写文件 237
10.7 获取文件信息 240
10.7.1 SimpleDateFormat类 240
10.7.2 获取文件属性 241
10.8 运行可执行文件 243
10.8.1 Runtime类 243
10.8.2 在Java中执行EXE文件 244
10.8.3 选择一个可执行文件并运行 244
10.9 本章小结 247
10.10 习题 247
第11章 网络程序设计 249
本章学习目标 249
11.1 Java的网络功能 249
11.2 使用URL类 249
11.2.1 URL基础知识 249
11.2.2 URL类 250
11.3 URLConnection类 253
11.4 Java显示网页的方法 255
11.4.1 AppletContext接口的showDocument
方法 255
11.4.2 在Java程序中显示网页 255
11.5 Socket通信 257
11.5.1 Socket通信基础知识 257
11.5.2 Socket通信实例服务器端 258
11.5.3 Socket通信实例客户端 260
11.5.4 Socket通信实例的使用 262
11.6 本章小结 263
11.7 习题 263
实例索引
实例 递归累加 4
实例 加法 6
实例 改进加法 8
实例 类的继承 41
实例 this引用的例子 45
实例 super引用的例子 46
实例 方法的重载 48
实例 方法的覆盖 49
实例 类变量 51
实例 接口 53
实例 使用Date类和Calendar类 62
实例 求一个数组中最大的元素及其下标 64
实例 用数组的数组存放杨辉三角形 65
实例 获取字符串长度的例子 67
实例 字符串比较 68
实例 取子字符串 68
实例 在字符串中查找字符 69
实例 字符串转换成数值 70
实例 数值转换成字符串之一 70
实例 数值转换成字符串之二 71
实例 解析命令行参数 72
实例 字符串数组 73
实例 测试Applet类中方法的用途 74
实例 从HTML向Applet传递参数 76
实例 按钮的使用 84
实例 标签组件的例子 87
实例 文本行和文本域的使用 91
实例 复选框组件的使用 93
实例 单选按钮组的使用 95
实例 选择框组件 98
实例 用列表框实现单选、多选并响应单击
和双击事件 101
实例 滚动条组件的使用 104
实例 用四种方法创建红色 107
实例 使用字体 108
实例 使用框架 111
实例 框架的事件 113
实例 面板类的用法 116
实例 对话框的实例 119
实例 测试BorderLayout布局的效果 123
实例 测试GridLayout布局的效果 124
实例 使用GridBagLayout布局 126
实例 使用null布局 128
实例 下拉菜单的实例 132
实例 弹出式菜单的使用 136
实例 汉字编码 139
实例 在Canvas上绘图 145
实例 在Applet上绘图 149
实例 使用绘图方法绘制图形 152
实例 旋转的斜椭圆 154
实例 绘制字符和字符串 156
实例 徒手绘图 158
实例 用橡皮筋画法绘制直线段 160
实例 在Applet中显示位图 163
实例 相册 165
实例 连续位图动画 167
实例 更换图标 168
实例 不完善的除法计算器1 174
实例 不完善的除法计算器2 176
实例 除法计算器 178
实例 完善整数除法 181
实例 自定义异常类 184
实例 毕达哥拉斯数和完全平方数 191
实例 滚动字符串 194
实例 时钟和字符串 196
实例 多线程 200
实例 改进连续位图动画 202
实例 定时器 204
实例 定时器的进一步改进 206
实例 用定时器控制动画 209
实例 使用对话框选择文件 215
实例 标准输入输出 222
实例 打开并读取文件 225
实例 用字节流写文件 227
实例 用字符流写文件 229
实例 复制文件 230
实例 复制文件之二 231
实例 为源程序加行号 235
实例 随机读写文件 238
实例 文件属性列表 241
实例 运行可执行文件1 244
实例 运行可执行文件2 244
实例 用openStream读URL文件 251
实例 使用URLConnection类读URL文件 253
实例 用showDocument显示网页内容 255
实例 Socket通信实例服务器端程序 258
实例 Socket通信实例客户端程序 260
- 面向对象程序设计 [主编 张勇 张平华 赵小龙]
- Java Web应用技术项目化教程 [黄日胜 方阿丽]
- JavaScript与jQuery项目化教程(活页式) [主编 林沣 蓝雪燕 宋家慧]
- 网站前端技术案例教程(HTML+CSS+JavaScript)(第二版) [黄华升]
- Java编程基础案例式教程 [主编 陈艳华 唐春兰]
- Java面向对象程序设计(微课版) [主编 谢先伟 王海洋]
- Java面向对象程序设计 [主编 张立敏 邹海涛]
- Java Web开发技术任务驱动式教程 [金静梅]
- Java编程基础 [张焕生 崔炳德]
- Java编程基础实践指导 [张焕生 陈勇 崔炳德]
- Java基础编程(微课版) [主编 王海洋 吴科宏 谢先伟]
- 12岁开始学JavaScript和Web应用 [TENTO 著 徐乐群 译]
- Java程序设计简明教程 [黄能耿 黄致远 编著]
- Java程序设计 [主编 张继军]
- Java基础应用与实战 [彭东海 王志和 张思奇]
- Java Web开发技术与项目实战 [主编 罗如为]
- Java程序设计案例教程 [主 编 宁淑荣 杨国兴]
- Java程序设计 [甘霞]
- Web前端开发从学到用完美实践HTML5+CSS3+JavaScript+jQuery+AJAX+AngularJS(第2版) [阮晓龙]
- Java程序设计实训教程 [主编 宁淑荣 杨国兴]
- 网站前端技术案例教程(HTML+CSS+JavaScript) [黄华升]
- Java程序设计习题解答及上机指导 [李素若]
- Java核心API编程 [主编 肖睿 禹晨 马凌]
- Java Web开发实战 [主编 肖睿 高海波 徐申]
- Java面向对象编程 [肖睿 李志勇]
- Java面向对象程序设计 [主编 肖奎 姚竞]
- Java面向对象程序设计 [主编 陈占伟]
- Java Web应用开发 [万青 杨智勇]
- Bootstrap与jQuery UI框架设计 [主编 肖睿 吴振宇]
- Java ME手机应用程序开发 [易灿 李志勇 编著]