
本书共分为三篇:第一篇为基础篇,共4章,主要讲述Java的产生和发展、Java SE环境的搭建、Java SE基本语法、Java SE流程控制语句、Eclipse集成开发环境安装与配置、项目的创建、调试和运行等。第二篇为任务驱动篇,共5章,主要讲述Java SE类和接口、图形用户界面、Java SE输入输出流、Java SE网络应用以及Java SE数据库编程等。第三篇为综合案例编程篇,共1章,综合前面各章节所讲内容,分析图书管理系统开发的各模块,系统介绍了该系统的开发过程。
本书以实例、项目工程的实现为主线,以应用为目的,循序渐进地讲解Java的具体应用,使初学者易学易用。本p书可作为高等院校计算机相关专业及计算机培训学校的教材,也可作为Java程序设计开发人员的参考用书。
前 言
当今是一个“信息化”、“网络化”的时代,Internet将世界各地成千上万的计算机子网连成一个庞大的整体,用户可以随时随地获取最新的资源。但是世界上的这些子网是由各种不同型号、不同规模、不同操作系统以及不同应用软件平台的计算机构成的,这样就提出一个问题:有没有一种语言,使得程序员用这种语言编写的程序可以在各种不同的计算机上运行,从而使Internet能够更好地发挥作用呢?Java就是满足这种需求而得到广泛使用的语言,也就是说,Internet的发展使Java应运而生。
Java语言由Sun公司于1995年5月23日正式推出,Java作为面向对象的程序设计语言,集安全性、简单性、易用性、跨平台性于一身,并且特别适合于网络环境下的编程使用,目前Java正在逐步成为Internet应用的主要开发语言,它彻底改变了应用软件的开发模式,在计算机领域里掀起了又一次技术革命高潮,为迅速发展的信息世界增添了新的活力。尤其是Java 2平台的推出,进一步促进和加快了Java技术的应用。
本书注重Java编程基础,以图书管理系统案例为驱动,围绕开发图书管理系统所需的知识点由浅深入地进行讲解,通过本书的学习,使读者能够掌握使用Java语言开发的一个完整程序。
本书分为三篇,共十章,具体内容如下。
第一篇:基础篇,共4章。
第1章 Java SE概述,主要讲述Java的产生和发展、Java SE环境的搭建、Java SE程序开发以及Java SE API的使用。
第2章 Java SE 6.0基本语法,主要讲述Java基本数据类型、常量与变量、Java运算符、数据类型之间的转换以及运算符的优先级等。
第3章 Java SE 6.0流程控制语句,主要讲述if语句、if…else语句、for语句、while语句、do…while语句、break语句、continue语句和return语句等。
第4章 Eclipse集成开发环境,主要讲述Eclipse的特点、Eclipse的安装与配置、Eclipse的工作台、Java项目创建、Java项目调试和运行等。
第二篇:任务驱动篇,共5章。
第5章 Java SE 6.0的类和接口,主要讲述Java类定义、对象的创建、类的继承、方法的重载和覆盖以及Java接口等。
第6章 Java SE 6.0的图形用户界面,主要讲述简单控件、高级控件、布局管理器等。
第7章 Java SE 6.0的输入输出流,主要讲述输入输出的处理方式、输入流、输出流、输入输出的异常处理以及文件(目录)的创建、移动、复制和删除等。
第8章 Java SE 6.0的网络应用,主要讲述Socket服务器端编程、Socket客户端编程、Socket通信的I/O流、Socket异常处理以及多线程的创建、控制和同步等。
第9章 Java SE 6.0的数据库编程,主要讲述JDBC的结构、如何操作数据库以及JDBC的异常处理。
第三篇 综合案例编程篇,共1章。
第10章 图书管理系统,本章综合以上章节所讲内容,分析图书管理系统开发的各模块,系统介绍该系统的开发过程。
本书可以作为高等院校计算机相关专业及计算机培训学校的教材,也可以作为Java程序设计开发人员的参考用书。
本书由李刚生、王燚和焦玲编著,其中第2、3、4、5、9、10章由李刚生编写,第1、6章由焦玲编写,第7、8章由王燚编写,在编写的过程中青岛大学的孙更新老师提供了很多建议和意见,并给予大力支持和帮助,在此表示感谢。
限于编者水平有限,编写的过程中难免会有错误之处,希望广大读者不吝赐教。
编 者
目 录
第一篇 基 础 篇
第1章 Java SE概述 1
1.1 Java SE的产生与发展 2
1.1.1 Java技术的产生 2
1.1.2 Java SE的发展 2
1.2 Java SE的特点 3
1.3 搭建Java SE简易开发环境 5
1.3.1 下载JDK 6.0 5
1.3.2 安装JDK 6.0 5
1.3.3 Windows环境下JDK 6.0的
配置 7
1.3.4 JDK 6.0的新特性 9
1.4 Java SE程序开发过程 10
1.4.1 Java SE 6.0程序的基本结构 10
1.4.2 编写Java SE 6.0程序 11
1.4.3 编译和运行Java SE 6.0
程序 12
1.4.4 使用Java SE 6.0 API文档 12
1.5 思考与练习 14
第2章 Java SE 6.0基本语法 15
2.1 Java符号 16
2.1.1 标识符 16
2.1.2 关键字 16
2.1.3 运算符和分隔符 17
2.1.4 注释 17
2.2 数据类型 18
2.2.1 基本类型 19
2.2.2 引用类型 19
2.3 常量与变量 19
2.3.1 常量的概念与使用 19
2.3.2 变量的声明与引用 21
2.3.3 变量的作用域 26
2.4 运算符 30
2.4.1 算术运算符 30
2.4.2 关系运算符 31
2.4.3 赋值运算符 32
2.4.4 逻辑运算符 33
2.4.5 条件运算符 34
2.4.6 位运算符 35
2.4.7 运算符的优先级 36
2.4.8 语句和表达式 37
2.5 数据类型间的转换 37
2.5.1 自动类型转换 38
2.5.2 强制类型转换 39
2.6 数组与字符串 40
2.6.1 一维数组 40
2.6.2 多维数组 45
2.6.3 字符串 49
2.7 基本数据类型与封装类 58
2.7.1 构造方法 58
2.7.2 常用方法 61
2.8 思考与练习 62
第3章 Java SE 6.0流程控制语句 63
3.1 三种控制结构 64
3.2 分支语句 64
3.2.1 简单if语句 64
3.2.2 if…else语句 65
3.2.3 多层嵌套if…else语句 67
3.2.4 判断中的“短路”现象 69
3.2.5 使用if语句和三目运算符判定
是否是闰年 71
3.2.6 switch多分支语句 72
3.3 循环语句 75
3.3.1 while语句 75
3.3.2 do…while语句 76
3.3.3 for语句 78
3.3.4 多种循环嵌套 80
3.3.5 使用循环语句计算水仙花数 81
3.4 跳转语句 82
3.4.1 break语句 82
3.4.2 continue语句 84
3.4.3 return语句 87
3.4.4 goto语句 87
3.5 思考与练习 88
第4章 Eclipse集成开发环境 89
4.1 Eclipse的概念和特点 90
4.1.1 Eclipse的概念 90
4.1.2 Eclipse的主要特点 90
4.2 Eclipse的安装与配置 91
4.2.1 Eclipse的下载 91
4.2.2 Eclipse的安装 91
4.2.3 Eclipse的启动 92
4.2.4 Eclipse多国语言包的安装 93
4.3 Eclipse平台 96
4.3.1 Eclipse平台技术概述 96
4.3.2 Eclipse透视图 99
4.3.3 Eclipse视图 101
4.3.4 Eclipse编辑器 101
4.4 创建并运行Java项目 103
4.4.1 创建Java项目 104
4.4.2 创建Java类 105
4.4.3 编写Java源代码 106
4.4.4 Java项目的运行 112
4.4.5 Java项目的调试 113
4.5 Eclipse中的项目管理 118
4.5.1 导入包 118
4.5.2 导入Java类 118
4.5.3 导入Java项目 119
4.5.4 导出Java项目 120
4.6 思考与练习 121
第二篇 任务驱动篇
第5章 Java SE的类和接口 123
5.1 类和对象 124
5.1.1 Java类定义 124
5.1.2 类的成员变量 125
5.1.3 类的成员方法 128
5.1.4 类的构造方法 135
5.1.5 对象的创建和使用 136
5.1.6 类的封装 139
5.1.7 包的创建和使用 143
5.1.8 任务:创建用户类User 146
5.2 类的继承 147
5.2.1 类的继承概述 147
5.2.2 方法的重载和覆盖 151
5.2.3 抽象类和最终类 156
5.2.4 任务:创建管理员类
Admin 160
5.3 接口 160
5.3.1 定义接口 161
5.3.2 实现接口 161
5.3.3 任务:创建图书的接口 166
5.4 项目实践 166
5.4.1 定义图书类 166
5.4.2 定义读者类 169
5.5 思考与练习 171
第6章 Java SE 6.0的图形
用户界面 173
6.1 简单控件和流式布局 174
6.1.1 JLabel(标签)组件 174
6.1.2 JTextField(文本框)组件 176
6.1.3 JPasswordField
(密码框)组件 177
6.1.4 JButton(按钮)组件 179
6.1.5 JPanel(面板)组件 180
6.1.6 流式布局管理器 183
6.1.7 任务:创建管理员
登录界面 185
6.2 选择框和网格布局 187
6.2.1 JComboBox(选择框)组件 187
6.2.2 JList(列表框)组件 188
6.2.3 JRadioButton(单选按钮)和
JCheckBox(复选框)组件 189
6.2.4 JOptionPane(弹出对话框)
组件 190
6.2.5 网格布局管理器 194
6.2.6 任务:创建计算器界面 196
6.3 Java SE中事件处理模型和
BorderLayout布局 201
6.3.1 JTable(表格)组件 201
6.3.2 JScrollPane(滚动面板)组件 202
6.3.3 Vector(向量)组件 203
6.3.4 Java SE中事件处理模型 204
6.3.5 BorderLayout布局管理器 222
6.3.6 任务:创建图书管理界面 223
6.4 高级控件和卡式布局 228
6.4.1 JMenu(菜单)组件、JMenuItem
(菜单选项)组件和JMenuBar
(菜单栏)组件 228
6.4.2 JSplitPane(分割面板)组件 231
6.4.3 JTree (树状结构)组件 233
6.4.4 卡布局管理器 236
6.4.5 JFrame窗体 239
6.4.6 任务:创建系统主界面 240
6.5 文本域、对话框和BoxLayout
布局 245
6.5.1 JTextArea(文本域)组件 245
6.5.2 FileDialog(文件对话框)
组件 248
6.5.3 BoxLayout布局 248
6.5.4 任务:创建记事本主界面 250
6.6 项目实践 252
6.6.1 创建管理用户界面 252
6.6.2 创建添加、修改、
删除用户界面 255
6.7 思考与练习 266
第7章 Java SE 6.0的输入输出流 267
7.1 Java SE的输入输出类库 268
7.1.1 流概述 268
7.1.2 Java SE的输入输出流类 268
7.2 Java SE的输入流 271
7.2.1 Java SE的I/O处理方式 271
7.2.2 标准输入 274
7.2.3 文件的字节输入流 275
7.2.4 文件的字符输入流 281
7.2.5 I/O异常处理 283
7.2.6 任务:打开记事本文件 288
7.3 Java SE的输出流 290
7.3.1 标准输出流 290
7.3.2 文件的字节输出流 291
7.3.3 文件的字符输出流 293
7.3.4 任务:保存记事本文件 296
7.4 Java SE的文件类 297
7.4.1 文件类 297
7.4.2 复制和删除文件 300
7.4.3 复制和删除文件夹 303
7.4.4 任务:管理记事本文件 305
7.5 项目实践 310
7.5.1 通过NIO操作文件 310
7.5.2 读写二机制文件 311
7.6 思考与练习 312
第8章 Java SE 6.0的网络应用 313
8.1 Java SE Socket服务器端编程 314
8.1.1 Java SE的Socket编程 314
8.1.2 创建Socket服务器端 315
8.1.3 Socket异常处理 316
8.1.4 任务:创建图书管理系统
服务器端 317
8.2 Java SE Socket客户端编程 322
8.2.1 创建Socket客户端 322
8.2.2 Socket通信中的I/O流 322
8.2.3 任务:创建图书管理系统
客户端 324
8.3 Java SE的多线程应用 330
8.3.1 Java SE中的多线程 330
8.3.2 线程的创建 331
8.3.3 线程的控制 332
8.3.4 线程的同步 334
8.3.5 任务:实现多线程的
图书管理系统 339
8.4 项目实践——实现NIO机制的
服务器 347
8.5 思考与练习 355
第9章 Java SE 6.0数据库编程 357
9.1 JDBC编程基础 358
9.1.1 Java SE的JDBC编程 358
9.1.2 建立数据库连接 359
9.1.3 进行数据库查询 365
9.1.4 任务:实现管理员登录的
数据库编程 368
9.2 JDBC高级编程 372
9.2.1 查询图书信息 372
9.2.2 添加图书信息 374
9.2.3 修改图书信息 375
9.2.4 删除图书信息 375
9.2.5 JDBC中的事务处理 376
9.2.6 任务:实现图书管理的
数据库编程 379
9.3 项目实践——管理系统中的
读者信息 394
9.4 思考与练习 403
第三篇 综合案例编程篇
第10章 图书管理系统 405
10.1 系统分析 406
10.1.1 需求分析 406
10.1.2 可行性分析 406
10.1.3 开发及运行环境分析 406
10.2 系统设计 407
10.2.1 系统流程 407
10.2.2 模块功能结构分析 408
10.3 数据库设计 409
10.3.1 E-R图 409
10.3.2 数据表结构分析 410
10.4 连接数据库模块 411
10.5 管理员登录模块 413
10.5.1 管理员登录界面 414
10.5.2 管理员登录技术实现 414
10.6 系统主界面模块 417
10.6.1 系统主界面 418
10.6.2 系统主界面的技术实现 418
10.7 用户管理模块 424
10.7.1 用户管理模块的客户端 424
10.7.2 用户管理模块的服务器端 447
10.8 图书管理模块 454
10.8.1 图书管理模块的客户端 454
10.8.2 图书管理模块的服务器端 477
10.9 图书借阅模块 484
10.9.1 图书借阅模块的客户端 484
10.9.2 图书借阅模块的服务器端 497
10.10 思考与练习 504