Java语言程序设计(第二版)

-
【作 者】贾振华 主编
【I S B N 】978-7-5084-7067-2
【责任编辑】张玉玲
【适用读者群】本科
【出版时间】2010-01-01
【开 本】16开
【装帧信息】平装(光膜)
【版 次】第2版
【页 数】276
【千字数】
【印 张】
【定 价】¥28
【丛 书】21世纪高等院校规划教材
【备注信息】
简介
本书特色
前言
章节列表
精彩阅读
下载资源
相关图书
本书第一版为普通高等教育“十一五”国家级规划教材。本书在第一版基础上进行了修订和补充,增加了数据库和网络编程。本书以面向对象的思想介绍使用Java语言进行程序设计的知识和方法,将面向对象的基本理论与Java语言程序设计相结合,而且运用了大量有应用价值的实例来实践这些知识、原理和方法,旨在培养读者正确运用面向对象的思维方法分析问题和解决问题的能力。全书共14章,主要内容有:Java语言的基础知识,包括数据类型、运算符与表达式、数组、字符串和正则表达式的应用;面向对象设计的相关概念和实现方法,包括类、接口、包、继承等;图形用户界面设计,主要包括Swing组件、布局管理器、事件处理机制等;还介绍了一些Java语言的高级特性,如异常处理、输入输出、网络编程、数据库连接、多线程等。
全书内容丰富,深入浅出,系统性和应用性强,融入了作者多年教学和实践的经验及体会。书中含有大量典型的实用程序并上机通过,另外配套有《Java语言程序设计(第二版)——习题解答、实验指导及实训》。
本书可作为高等院校计算机相关专业的教材,也可作为自学教材、全国计算机等级考试二级Java的辅导教材,还可作为计算机软件开发工程技术人员学习和应用的参考书。
紧扣教学(考试)大纲,精心设计教学内容,适合教学
以程序设计为中心,语法介绍精炼、实用
结合主要知识点,每章配有精选习题(填空、选择、编程、阅读理解、判断等),供读者练习与自测
配套有《Java语言程序设计(第二版)——习题解答、实验指导及实训》
提供教学相关资源(授课计划、电子教案、案例程序源代码等)
本书第一版是普通高等教育“十一五”国家级规划教材。本书在第一版的基础上进行了修订和补充,保留了原教材特点,注重教材的理论与实际相结合,提高学生的基本专业知识素质和培养学生的实际应用能力,教材内容新颖、实用、易教易学。书中包含大量作者精心设计及选择的例题,每章后面给出适量的选择题、填空题、编程题等,以增强读者对知识的理解与掌握。另外,本版次在内容和部分例题上做了调整,增加了一些新的知识,例题源代码只给出了关键部分。
对第一版的结构进行了如下改动:原来的第5章拆分为4、5两章,在数组一章中新增了常用集合,并调整到第6章,Java Applet得到内容充实并调整到第12章,把多线程调整到第13章,新增第10章JDBC数据库编程和第14章网络编程。
本书以面向对象的思想介绍使用Java语言进行程序设计的知识和方法,将面向对象的基本理论与Java语言程序设计相结合,而且运用了大量有应用价值的实例来实践这些知识、原理和方法,旨在培养读者正确运用面向对象的思维方法分析问题和解决问题的能力。
本书的目的是让读者使用面向对象的思想去思考问题、分析问题、解决问题,学会利用当前最流行的、功能强大的面向对象程序设计语言Java开发各种软件产品,以适应网络时代社会对人才的需求。
全书共14章,具体内容简述如下:
第1章介绍Java语言的发展、特点,以及开发工具和开发步骤。
第2章详细讲解Java语言的基础,包括标识符、关键字、数据类型、表达式、常量、变量、运算符等内容。
第3章Java语言程序控制结构,包括顺序结构、选择结构和循环结构。
第4章涉及Java语言面向对象程序设计的最基本内容:类与对象等。
第5章讲解Java语言面向对象程序设计涉及的内容:类的继承和多态,以及接口和包等诸多概念与理论,新增了时间、日期类的使用。
第6章介绍数组和集合的应用。集合是新增加的内容,详细讲解向量和哈希表的使用。
第7章介绍字符串的基本操作。
第8章介绍异常处理机制、自定义异常及应用。
第9章讲述程序的输入输出流技术。
第10章介绍JDBC数据库编程。新增内容主要有Java与数据库的连接、访问数据库操作等。
第11章介绍图形用户界面的设计和编程技术,初步介绍Java Swing,掌握常用Swing组件的用法。
第12章介绍Java多媒体应用,内容主要包括Java Applet的基本概念和工作原理、如何在Applet程序中绘制图形、Java Applet程序间的通信以及和浏览器之间的通信、在多媒体方面的支持等。
第13章介绍多线程技术以及与图形用户界面相结合的方法。
第14章介绍网络编程,通过套接字Socket使用TCP/IP协议和UDP协议编写相应的网络程序。
如果本书作为教学的教材使用,下表给出了课时的分配建议。
理论与上机实验课时分配建议
章节 课时分配 章节 课时分配
第1章 Java语言概述 2 第8章 异常处理 2+2
第2章 Java语言基础 4+2 第9章 输入输出处理 4+2
第3章 流程控制 2+2 第10章 JDBC数据库编程 4+2
第4章 类和对象 4+2 第11章 图形用户界面 6+4
第5章 继承与接口 4+2 第12章 Applet与多媒体 2+2
第6章 数组和集合 4+2 第13章 多线程 2+2
第7章 字符串处理 2+2 第14章 网络编程 2+2
合计 44+28=72
说明:课时分配=理论课时+上机课时。
本书由贾振华任主编,庄连英、斯庆巴拉、史永生任副主编,贾振华编写第1、2、4、5章,史永生编写第3章、第14章,斯庆巴拉编写第6~9章,庄连英编写第10~13章。另外,参加本书部分编写工作的还有李杰、王振夺、孙红艳、崔玉宝、王静、赵丽艳、刘立媛、何志学、侯晓芳、杨丽娟、张春娥、房好帅、张云峰、钱文光等。贾振华对全书进行修订和统稿。
为了满足读者将本书作为主教材的教学要求,我们还编写了配套辅导书《Java语言程序设计(第二版)——习题解答、实验指导及实训》,教材中所有例题的完整源程序、电子教案,读者可到中国水利水电出版社网站上下载,也可与本书作者联系索取更多相关教学资源。
在本书的编写过程中,参考了大量的相关技术资料,吸取了许多同仁的宝贵经验,在此表示感谢,同时还要对那些关心和支持本书编写工作的学校领导、老师和同学们表示感谢。
最后还要感谢中国水利水电出版社的领导和相关同志对本书作者的支持和帮助。
尽管我们做了最大的努力,但由于作者水平和时间的限制,书中难免有不妥之处,恳请广大读者批评指正,笔者的E-mail:jiazhenhualf@126.com。
第二版前言
第一版前言
第1章 Java语言概述 1
1.1 Java语言的发展和特点 1
1.1.1 Java语言的发展 1
1.1.2 Java语言的特性 2
1.1.3 Java程序的工作机制 4
1.2 Java程序结构 5
1.2.1 Java应用程序(Java Application) 5
1.2.2 Java小应用程序(Java Applet) 9
1.2.3 Java程序结构 10
1.3 Java程序开发工具与开发步骤 11
1.3.1 Java程序开发工具的安装与环境配置 11
1.3.2 JDK开发工具及其使用 12
1.3.3 Eclipse简介 15
本章小结 15
习题1 15
第2章 Java语言基础 17
2.1 标识符、关键字和分隔符 17
2.1.1 Java标识符 17
2.1.2 关键字 18
2.2 数据类型概述 18
2.2.1 数据类型的划分 18
2.2.2 常量和变量 19
2.3 基本数据类型 20
2.3.1 整型数据 20
2.3.2 实型数据 21
2.3.3 字符型数据 21
2.3.4 字符串数据 22
2.3.5 布尔型数据 22
2.3.6 类型转换 22
2.4 运算符 23
2.4.1 算术运算符 23
2.4.2 关系运算符 24
2.4.3 布尔逻辑运算符 24
2.4.4 位运算符 25
2.4.5 赋值运算符 27
2.4.6 条件运算符 27
2.4.7 运算符优先级 28
2.5 表达式 28
2.6 简单的输入输出 29
2.6.1 输出 29
2.6.2 输入 29
本章小结 31
习题2 31
第3章 控制结构 33
3.1 选择结构 33
3.1.1 if语句 33
3.1.2 switch语句 36
3.2 循环结构 38
3.2.1 while语句 38
3.2.2 do-while语句 39
3.2.3 for语句 40
3.3 跳转控制语句 42
3.3.1 标号 42
3.3.2 break语句 42
3.3.3 continue语句 43
3.3.4 return语句 44
本章小结 44
习题3 44
第4章 类和对象 48
4.1 面向对象的基本概念 48
4.1.1 对象 48
4.1.2 消息(Message) 49
4.1.3 类 49
4.1.4 面向对象的基本特征 50
4.2 类(Class) 51
4.2.1 类的定义 51
4.2.2 成员变量 52
4.2.3 成员方法 53
4.2.4 构造方法 57
4.2.5 类的对象 59
4.2.6 this关键字 60
4.2.7 变量的作用域 60
4.3 修饰符 62
4.4 静态初始化 64
4.5 内部类 65
4.5.1 成员类(Member Class) 65
4.5.2 静态成员类(Static Member Class) 66
4.5.3 局部类(Local Class) 67
4.5.4 匿名类(Anonymous Class) 68
4.6 类的使用 69
本章小结 71
习题4 72
第5章 继承和接口 76
5.1 类的继承 76
5.1.1 类继承的实现 76
5.1.2 super关键字 78
5.1.3 抽象类和抽象方法 78
5.1.4 类对象之间的类型转换 81
5.2 类的多态 82
5.2.1 方法重载 82
5.2.2 方法重写 83
5.3 接口(interface) 84
5.3.1 接口的定义 84
5.3.2 接口的实现 85
5.3.3 接口的继承 85
5.3.4 接口的多态 87
5.4 包(package) 87
5.4.1 包的创建 87
5.4.2 包的引用 88
5.4.3 设置CLASSPATH环境变量 89
5.5 Java 类库及主要类的使用 89
5.5.1 Java API常用包 90
5.5.2 Math 类 94
5.5.3 Date类 95
5.5.4 Calendar类 96
本章小结 99
习题5 99
第6章 数组和集合 103
6.1 数组 103
6.2 一维数组 103
6.2.1 一维数组的声明 103
6.2.2 一维数组的初始化 104
6.2.3 一维数组的引用 104
6.3 多维数组 106
6.3.1 二维数组的声明 106
6.3.2 二维数组的初始化 107
6.3.3 二维数组的引用 108
6.4 数组的常用方法 109
6.5 集合 110
6.5.1 集合概述 110
6.5.2 向量(Vector类) 111
6.5.3 哈希表 114
本章小结 116
习题6 116
第7章 字符串处理 119
7.1 字符串常量 119
7.2 String类字符串 120
7.2.1 String类字符串的定义 120
7.2.2 String类字符串的基本操作 120
7.3 StringBuffer类字符串 125
7.3.1 StringBuffer类字符串的定义 125
7.3.2 StringBuffer类字符串的基本操作 126
7.4 main()方法的参数 128
本章小结 129
习题7 129
第8章 异常处理 131
8.1 异常概述 131
8.1.1 异常基本概念 131
8.1.2 异常处理机制 132
8.2 异常处理 133
8.2.1 try-catch-finally语句 133
8.2.2 throw语句和throws子句 135
8.2.3 创建自己的异常 139
8.3 异常类的层次结构及主要方法 140
8.3.1 异常类的层次和主要子类 140
8.3.2 异常类的主要方法 144
本章小结 145
习题8 145
第9章 输入/输出处理 148
9.1 输入/输出流概述 148
9.1.1 输入/输出流的概念 148
9.1.2 输入/输出类 149
9.1.3 标准输入/输出 152
9.2 字节输入/输出流 153
9.2.1 文件输入/输出字节流 153
9.2.2 过滤流 154
9.3 字符输入/输出流 157
9.3.1 输入/输出字符流 157
9.3.2 文件输入/输出字符流 158
9.3.3 缓冲字符流 158
9.3.4 打印输出字符流 159
9.4 文件处理 160
9.4.1 文件描述 160
9.4.2 文件顺序访问 162
9.4.3 文件随机访问 163
9.5 对象的串行化 164
9.5.1 串行化的概念和目的 164
9.5.2 串行化方法 165
9.5.3 串行化的注意事项 166
9.5.4 串行化举例 166
9.6 其他常用流 167
9.6.1 管道流 167
9.6.2 内存的访问 168
9.6.3 顺序流 168
本章小结 168
习题9 168
第10章 JDBC数据库编程 170
10.1 JDBC概述 170
10.1.1 JDBC的作用 170
10.1.2 JDBC驱动类型 171
10.1.3 创建数据源 171
10.1.4 JDBC数据库编程步骤 173
10.2 JDBC常用类和接口 175
10.2.1 DriverManager类 175
10.2.2 Connection接口 175
10.2.3 Statement和PreparedStatement 176
10.2.4 ResultSet对象 177
10.3 JDBC示例 178
10.3.1 示例简介 178
10.3.2 程序结构 179
10.3.3 具体代码 179
本章小结 181
习题10 181
第11章 图形用户界面(GUI)设计 183
11.1 图形用户界面概述 183
11.1.1 Java GUI简介 183
11.1.2 容器、组件、布局和观感 185
11.2 布局管理器 187
11.2.1 布局管理器简介 187
11.2.2 FlowLayout布局管理器 187
11.2.3 BorderLayout布局管理器 188
11.2.4 GridLayout布局管理器 189
11.2.5 CardLayout布局管理器 190
11.2.6 GridBagLayout布局管理器 191
11.2.7 Swing布局管理器 193
11.2.8 Null布局管理器 194
11.3 事件处理 194
11.3.1 事件处理模式 194
11.3.2 Java事件类层次结构 195
11.3.3 事件处理方法——实现事件监听器接口 196
11.3.4 事件处理方法——继承事件适配器 197
11.3.5 典型事件处理 197
11.4 常用Swing组件 198
11.4.1 常用容器组件 198
11.4.2 标签(JLabel) 199
11.4.3 按钮(JButton) 200
11.4.4 文本框 200
11.4.5 复选框(JCheckBox) 201
11.4.6 单选按钮(JRadioButton) 202
11.4.7 列表框(JList) 202
11.4.8 组合框(JComboBox) 202
11.4.9 常用组件应用实例 203
11.5 高级组件 204
11.5.1 滑块(JSlider) 204
11.5.2 菜单 206
11.5.3 对话框 207
11.5.4 表(JTable) 210
11.5.5 选项卡(JTabbedPane) 210
本章小结 212
习题11 212
第12章 Java多媒体应用 215
12.1 Java Applet概述 215
12.1.1 Applet和JApplet基础 215
12.1.2 Applet示例 216
12.2 Applet的创建和执行 217
12.2.1 Applet的生命周期和主要方法 217
12.2.2 Applet和HTML 220
12.2.3 Applet的执行 222
12.2.4 Applet和Application 222
12.3 Applet的多媒体应用 223
12.3.1 AWT绘制基础 223
12.3.2 在Applet中输出文字 224
12.3.3 在Applet中使用颜色 227
12.3.4 在Applet中绘制图形 228
12.3.5 在Applet中显示图像 230
12.3.6 在Applet中播放声音 232
本章小结 233
习题12 234
第13章 多线程 236
13.1 多线程概述 236
13.1.1 线程相关概念 236
13.1.2 Java中的多线程 236
13.1.3 线程的状态和生命周期 237
13.1.4 线程的调度和优先级 239
13.2 多线程的实现与控制 239
13.2.1 多线程的实现方法 239
13.2.2 多线程的控制 241
13.3 多线程的互斥与同步 241
13.3.1 线程的死锁 241
13.3.2 多线程的互斥 242
13.3.3 多线程的同步 242
13.3.4 GUI多线程示例 244
本章小结 246
习题13 246
第14章 Socket网络编程 249
14.1 网络编程概述 249
14.1.1 网络通信概述 249
14.1.2 Java相关类 250
14.2 URL类和URLConnection类 250
14.2.1 URL类 250
14.2.2 URLConnection类 251
14.3 面向连接TCP通信类 251
14.3.1 InetAddress 251
14.3.2 流式通信协议 252
14.3.3 Socket 252
14.3.4 ServerSocket 253
14.3.5 流式通信示例 253
14.4 面向无连接UDP通信类 256
14.4.1 数据报通信协议 256
14.4.2 DatagramPacket 256
14.4.3 DatagramSocket 256
14.4.4 数据报通信实例 256
本章小结 260
习题14 260
参考文献 261
- Java面向对象程序设计 [主编 姜春磊 陈虹洁]
- 基于AI的Java技术项目实战 [主编 尹慧超 郭 娜 刘庆杰]
- Java Web项目化设计实践教程 [邱云 曾陈萍]
- 面向对象程序设计 [主编 张勇 张平华 赵小龙]
- 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面向对象程序设计 [主编 陈占伟]