该书自第1版面市以来,在广大教师和学生的使用过程中,一直受到教师和学生的好评,市场反映非常热烈。尤其是该教材的第3版被“中国书刊发行业协会”评为2011年度全行业优秀畅销教材后,虽已多次印刷,但均已售罄。为了能适应科学技术的发展和计算机教学的需要,清华大华出版社和本书作者在征求广大读者意见和建议的基础上,决定修订再版,以便更好地满足广大读者的需求。陈国君主编的《Java程序设计基础(第4版)》在总结了以前版本的经验之上,并根据读者的建议,增加了数据库编程内容,使得该版教材在体系结构、内容组织、语言表达等方面都更加完善。
Java是近年来最流行的计算机程序设计语言。本书全面系统地介绍Java语言的特点及应用技术,内容上以Java的基础程序设计、面向对象程序设计和事件处理为三大主线,利用浅显易懂的语言、丰富简单的实例,完整地介绍了Java面向对象程序设计的要点和难点。陈国君主编的《Java程序设计基础(第4版)》共分17章,其中第1~5章介绍程序设计基础;第6~11章介绍面向对象程序设计;第12章和第13章介绍界面设计和事件处理;第14章介绍绘图程序设计;第15章介绍Applet程序设计;第16章介绍Java数据库编程;第17章介绍Java网络编程。
本教材在取材上特别注意教材的体系,其特色是结构合理、概念清楚、思路清晰、循序渐进、通俗易懂。在结构上特别注重前后内容的连贯性,力求抓住关键、突出重点、分解难点,体现“理论性、实用性、技术性”三者相结合的编写特色。对每个知识点不但能告诉读者要怎么做,而且还要告诉读者这样做的原因和道理。
《Java程序设计基础(第4版)》可以作为高等院校计算机、信息管理与信息系统及其相关专业的教学用书,也可作为各学校程序设计公共选修课的教材,同时也可作为职业教育的培训用书和Java初学者的入门教材,或为具有一定Java编程经验的开发人员学习使用。
第1章 Java语言概述/1
1.1 Java语言的诞生与发展/1
1.2 Java语言的特点/2
1.3 Java技术简介/4
1.4 Java虚拟机/5
1.5 Java程序种类和结构/6
本章小结/8
习题1/9
第2章 Java语言开发环境/10
2.1 Java开发工具/10
2.1.1 JDK的下载与安装/11
2.1.2 设置JDK的操作环境/13
2.2 JDK帮助文档下载与安装/15
2.2.1 下载JDK帮助文档/15
2.2.2 安装JDK帮助文档/16
2.3 JDK的使用/17
2.3.1 编译与运行Java应用程序/17
2.3.2 编译与运行Java小程序/19
本章小结/21
习题2/22
第3章 Java语言基础/23
3.1 数据类型/23
3.2 关键字与标识符/26
3.3 常量/27
3.4 变量/29
3.5 数据类型转换/30
3.6 从键盘输入数据/33
3.7 运算符与表达式/38
3.7.1 算术运算符/38
3.7.2 关系运算符/39
3.7.3 逻辑运算符/40
3.7.4 位运算符/41
3.7.5 赋值运算符/41
3.7.6 条件运算符/42
3.7.7 字符串运算符/43
3.7.8 表达式及运算符的优先级、结合性/43
本章小结/44
习题3/45
第4章 流程控制/46
4.1 语句与复合语句/46
4.2 顺序结构/47
4.3 分支结构/47
4.3.1 if条件语句/48
4.3.2 switch 选择语句/50
4.4 循环结构/52
4.4.1 while语句/53
4.4.2 do-while语句/55
4.4.3 for循环语句/58
4.4.4 多重循环/59
4.5 循环中的跳转语句/60
4.5.1 break语句/60
4.5.2 continue语句/61
4.5.3 return语句/61
本章小结/61
习题4/62
第5章 数组与字符串/63
5.1 数组的基本概念/63
5.2 一维数组/64
5.2.1 一维数组的定义/64
5.2.2 一维数组元素的访问/66
5.2.3 一维数组的初始化及应用/67
5.3 foreach语句与数组/70
5.4 多维数组/70
5.4.1 二维数组/71
5.4.2 三维以上的多维数组/74
5.5 字符串/75
5.5.1 字符串变量的创建/75
5.5.2 String类的常用方法/76
本章小结/78
习题5/79
第6章 类与对象/80
6.1 类的基本概念/80
6.2 定义类/81
6.3 对象的创建与使用/84
6.3.1 创建对象/84
6.3.2 对象的使用/85
6.3.3 在类定义内调用方法/88
6.4 参数的传递/90
6.4.1 以变量为参数调用方法/90
6.4.2 以数组作为参数或返回值的方法调用/92
6.5 匿名对象/94
本章小结/94
习题6/95
第7章 Java语言类的特性/96
7.1 类的私有成员与公共成员/96
7.1.1 私有成员/96
7.1.2 公共成员/97
7.1.3 缺省访问控制符/98
7.2 方法的重载/99
7.3 构造方法/100
7.3.1 构造方法的作用与定义/100
7.3.2 默认的构造方法/102
7.3.3 构造方法的重载/102
7.3.4 从一个构造方法调用另一个构造 方法/103
7.3.5 公共构造方法与私有构造方法/105
7.4 静态成员/106
7.4.1 实例成员/106
7.4.2 静态变量/107
7.4.3 静态方法/109
7.4.4 静态初始化器/110
7.5 对象的应用/111
7.5.1 对象的赋值与比较/111
7.5.2 引用变量作为方法的返回值/114
7.5.3 类类型的数组/114
7.5.4 以对象数组为参数进行方法调用/115
本章小结/116
习题7/117
第8章 继承、抽象类和接口/118
8.1 类的继承/118
8.1.1 子类的创建/119
8.1.2 在子类中访问父类的成员/123
8.1.3 覆盖/124
8.1.4 不可被继承的成员与最终类/127
8.1.5 Object类/128
8.2 抽象类/132
8.2.1 抽象类与抽象方法/132
8.2.2 抽象类的应用/133
8.3 接口/134
8.3.1 接口的定义/135
8.3.2 接口的实现与引用/135
8.3.3 接口的继承/137
8.3.4 利用接口实现类的多重继承/138
8.4 内部类与匿名类/139
8.4.1 内部类/139
8.4.2 匿名内部类/141
8.5 包/143
8.5.1 包的概念/143
8.5.2 使用package语句创建包/143
8.5.3 Java语言中的常用包/144
8.5.4 Java语言中几个常用的类/146
8.5.5 利用import语句引用Java定义的包/149
8.5.6 Java程序结构/150
8.6 Java语言的垃圾回收/150
本章小结/151
习题8/153
第9章 异常处理/154
9.1 异常处理的基本概念/154
9.1.1 错误与异常/154
9.1.2 Java语言的异常处理机制/155
9.2 异常处理类/156
9.3 异常的处理/158
9.4 抛出异常/162
9.5 自定义异常类/168
本章小结/170
习题9/170
第10章 Java语言的输入输出与文件处理/171
10.1 Java语言的输入输出类库/171
10.1.1 流的概念/171
10.1.2 输入输出流类库/173
10.2 使用InputStream和OutputStream流类/174
10.2.1 基本的输入输出流/175
10.2.2 输入输出流的应用/176
10.3 使用Reader和Writer流类/185
10.3.1 使用FileReader类读取文件/186
10.3.2 使用FileWriter类写入文件/187
10.3.3 使用BufferedReader类读取文件/188
10.3.4 使用BufferedWriter类写入文件/189
10.4 文件的处理与随机访问/191
10.4.1 Java语言对文件与文件夹的管理/191
10.4.2 对文件的随机访问/193
本章小结/196
习题10/197
第11章 多线程/198
11.1 线程的概念/198
11.1.1 程序、进程、多任务与线程/199
11.1.2 线程的状态与生命周期/200
11.1.3 线程的调度与优先级/202
11.2 Java的Thread线程类与Runnable接口/203
11.2.1 利用Thread类的子类来创建线程/203
11.2.2 用Runnable接口来创建线程/206
11.2.3 线程间的数据共享/208
11.3 多线程的同步控制/211
11.4 线程之间的通信/216
本章小结/218
习题11/220
第12章 图形界面设计/221
12.1 图形用户界面概述/221
12.2 图形用户界面工具包——Swing/222
12.2.1 Swing组件分类/222
12.2.2 颜色类Color、字体类Font与图像图标类ImageIcon/231
12.3 创建组件/233
12.3.1 标签JLabel/233
12.3.2 命令按钮JButton、复选框JCheckBox 和单选按钮JRadioButton/236
12.3.3 文本编辑组件JTextField、JPasswordField、JTextArea与滚动窗格JScrollPane/239
12.3.4 选项卡窗格JTabbedPane/243
12.4 布局管理器/245
12.4.1 流式布局管理器FlowLayout/246
12.4.2 边界式布局管理器BorderLayout/248
12.4.3 网格式布局管理器GridLayout/249
12.4.4 卡片式布局管理器CardLayout/251
12.4.5 网格包布局管理器GridBagLayout/253
12.4.6 盒式布局管理器BoxLayout/256
12.4.7 重叠布局管理器OverlayLayout和弹簧布局管理器SpringLayout简介 /258
本章小结/258
习题12/259
第13章 事件处理/260
13.1 Java语言的事件处理机制——委托事件模型/260
13.2 Java语言的事件类/266
13.3 适配器类/271
13.4 命令按钮及相应的事件处理/271
13.5 复选框、单选按钮及相应的事件处理/273
13.6 文本组件及相应的事件处理/275
13.7 窗口组件及窗口事件处理/277
13.8 对话框设计及相应的事件处理/279
13.9 按键事件类/283
13.10 鼠标事件类/286
13.11 列表框及相应的事件处理/289
13.12 组合框及相应的事件处理/291
13.13 菜单设计/294
13.13.1 窗口菜单/295
13.13.2 弹出式菜单/301
13.14 工具栏设计/304
13.15 滑动条设计及相应的事件处理/306
13.16 文件选择对话框/308
13.17 颜色选择窗格/313
13.18 定时器/315
本章小结/317
习题13/318
第14章 绘图程序设计/319
14.1 图形坐标系与绘图类/319
14.2 绘图程序设计/322
本章小结/328
习题14/329
第15章 小程序设计/330
15.1 小程序的基本工作原理/330
15.2 JApplet类/331
15.3 Java小程序编程实例/333
15.4 将应用程序转换成小程序及小程序的安全性/337
15.5 图像文件处理/338
15.6 播放音乐/339
15.7 动画程序设计/341
本章小结/347
习题15/347
第16章 Java数据库程序设计/349
16.1 关系数据库系统/349
16.1.1 数据库与数据库表/350
16.1.2 完整性约束/351
16.2 SQL/352
16.2.1 创建数据库/352
16.2.2 表操作/353
16.2.3 表数据操作/354
16.2.4 数据查询/355
16.3 JDBC/358
16.3.1 JDBC概述/358
16.3.2 JDBC类型/359
16.3.3 使用JDBC开发数据库应用程序/360
16.3.4 数据库的进一步操作/368
16.3.5 获取元数据/376
16.3.6 事务操作/380
16.3.7 通过Java JApplet访问数据库/383
本章小结/385
习题16/386
第17章 Java网络编程/387
17.1 网络基础/387
17.1.1 TCP/IP协议/387
17.1.2 通信端口/388
17.1.3 URL概念/388
17.1.4 Java语言的网络编程/389
17.2 URL编程/390
17.2.1 创建URL对象/390
17.2.2 使用URL类访问网络资源/391
17.3 用Java语言实现底层网络通信/392
17.3.1 InetAddress程序设计/392
17.3.2 基于连接的Socket通信程序设计/394
17.3.3 无连接的数据报通信程序设计/402
本章小结/406
习题17/407
参考文献//408