Java应用开发指南
Java应用开发指南
基本信息
作者: 聂庆亮丛书名: 网站开发指南
出版社:清华大学出版社
ISBN:9787302214359
上架时间:2010-1-22
出版日期:2010 年1月
开本:16开
页码:478
版次:1-1
内容简介
根据tiobe世界编程语言的排行统计,java已经连续数年居于首位,可见其应用之广泛。各类招聘信息中,企业对java程序员的需求量最大,待遇也最好,因此java成为程序员的入门首选编程语言。
本书共分4篇21章,第1~10章主要对java的基础知识进行了讲解,第11~12章对图形化界面的应用进行了讲解,第13章对网络编程做了简单的介绍,第14章对数据库的使用及加载驱动,以及如何连接做了系统的讲解。第15~19章分别对html语言、javascript、jsp、servlet 和j2ee进行了简单介绍。第20~21章为综合应用,分别开发了考生信息系统和图书订购系统。
本书非常适合对java感兴趣,期望以一种轻松愉快的心态进行学习的初学者。读者完全不需要有任何编程方面的基础知识,只要有兴趣,本书就是最适合的选择。
前言
随着网站技术的进一步发展,各个部门对网站开发技术的要求日益提高,综观人才市场,各企事业单位对网站开发工作人员的需求也大大增加。但是网站建设作为一项综合性的技能,对很多计算机技术都有着很高的要求。网站开发工作包括市场需求研究、网站策划、网页平面设计、网站程序开发、数据库设计以及网站的推广运作等,可以系统掌握这些知识的网络工程师相对较少。
如此诸多方面的知识,使得很多初学者往往都会感到十分困惑,不知道各项技术之间的关系。本套丛书正是由此而来,并完美地解决了这个问题——为广大读者学习网站开发技术提供一个完整的学习方案。丛书的组织结构如下:
本书是其中的一本,用以帮助读者Java语言各方面的知识。Java语言是Sun公司开发的一种面向对象进行设计的计算机程序语言,其在短短的几年内便已风靡全球。Java语言具有简单、面向对象、跨平台性、安全、多线程、健壮性、可移植性等特点,其中最显著的特点就是跨平台性,无论用户是在哪一个操作系统平台上,都可以使用完全一样的代码,因此Java是当前用户群最大的语言。
本书特点
1.语言精练,便于阅读
本书以语言精练为主要特点,介绍了Java语言的相关知识,读者可以体会到一种极强的亲和力,很快进入Java编程的世界。
2.由浅入深,循序渐进
本书具有的另一个显著特点是由浅入深、循序渐进,因此,读者在学习的过程中能够认清重点,抓住主脉进行突破。
3.简单集中,难点分散
本书的知识点有的简单,有的难度较大。作者通过对比分析,将简单的内容进行集中描述,而对较难的问题进行分解剖析,让读者能够轻松愉快地解决难题。
4.实例结合,易于上手
本书一个比较显著的特点就是实例丰富。在初学一门语言时,最难的就是不知如何应用到实际中,本书在讲解知识的过程中插入了大量实例,并且每个实例后都有相应的讲解,使读者能够更深入地掌握知识点。
5.内容超值,赠送光盘
本书赠送了一张随书光盘,书中的实例按照章节存放。读者只需要按照书中介绍的步骤进行操作,即可得到一个完整的程序。
本书包括的内容
第1章:首先带领读者进入Java世界,讲述了Java语言的特点,同时还讲述了JDK的安装和配置。
第2章:从Java语言的基础语法开始,讲述了Java语言的基本数据类型,以及Java语言的类型转换、数组与字符串等。
第3章:讲解了Java语言的控制语句,包括条件控件语句、循环语句以及跳转语句等。
第4章:讲解了面向对象程序开发,包括面向对象和面向对象的特性。
第5章:讲解了Java的类和包。讲述了Java的类和对象、成员变量及方法的访问,以及抽象类和抽象方法,最后介绍包的概念和使用。
.第6章:讲述了Java的继承与多态,包括继承、super关键字、父类、重写及重载等。
第7章:介绍了类的应用,主要包括static关键字、final关键字,以及接口的概念和使用,最后又对内部类进行了比较详细的讲解。
第8章:介绍了异常处理方面的知识。
第9章:介绍了Java的输入输出方面的知识。
第10章:详细讲解了多线程的知识,主要包括多线程简介、线程的创建、线程的调度、线程状态和线程同步与通信。
第11章:介绍了AWT方面的知识。
第12章:详细讲解了Swing组件。
第13章:介绍了网络编程知识,包括网络基础和网络编程步骤,其中对网络编程步骤进行了比较详细的介绍。
第14章:介绍了Java数据库编程,主要包括JDBC、数据库、JDBC编程步骤、PreparedStatement、元数据和结果集处理等。
第15章:介绍了HTML方面的知识。
第16章:介绍了JavaScript方面的知识。
第17章:介绍了JSP方面的知识,主要包括JSP简介、JSP程序演示、JSP的基本语法、JSP指令、JSP动作和JSP内置对象等。
第18章:讲解了Servlet方面的知识。
第19章:介绍了J2EE方面的知识。
第20和21章:是对前面所学知识的综合应用,开发了考生信息管理系统和图书订购系统。
适合阅读本书的读者
本书具有知识全面、实例丰富、深入浅出的特点,力求以通俗易懂的讲解指导读者学习。本书可以作为初次学习Java语言的读者的入门教材,也可以作为中级读者的必备参考用书,当然对高级读者也有一定的启发意义。
本书由聂庆亮组织编写,其他参与编写、资料整理、代码调试的人员还有陈刚、宫磊、谷原野、黄其武、李修花、李延琨、林家昌、刘林建、孟富贵、彭自强、孙雪明、王世平、文明、徐增年、银森骑、张家磊、张瑾瑜、周伟杰、朱玲、陈杰、陈冠军、张金霞、张昆和尹继平,在此一并表示感谢。
编 者
目录
第1篇 初识java
第1章 java入门简介 2
1.1 java的起源与特点 2
1.2 搭建java开发环境 3
1.2.1 jdk的下载 3
1.2.2 安装jdk 4
1.2.3 配置环境变量 5
1.3 编写一个java小程序 6
1.3.1 编写代码 6
1.3.2 编译和运行 7
1.4 小结 8
第2章 java入门装备 9
2.1 标识符、保留字和注释 9
2.1.1 标识符 9
2.1.2 保留字 10
2.1.3 注释 11
2.2 常量和变量 12
2.2.1 常量 13
2.2.2 变量 13
2.3 原始数据类型 14
.2.3.1 整型数据之字节型 14
2.3.2 整型数据之短整型 15
2.3.3 整型数据之整型 16
2.3.4 整型数据之长整型 17
2.3.5 浮点类型数据 17
2.3.6 字符类型 19
2.3.7 布尔类型 20
2.4 类型转换 21
2.4.1 自动类型转换 21
2.4.2 强制类型转换 22
2.5 运算符与表达式 24
2.5.1 逻辑运算符 24
2.5.2 关系运算符 27
2.5.3 算术运算符 29
2.5.4 位运算符 31
2.5.5 赋值运算符 36
2.5.6 条件运算符 37
2.6 java数组 38
2.6.1 建立数组 38
2.6.2 给数组赋值 39
2.6.3 如何定义多维数组 40
2.7 字符串 42
2.7.1 如何创建string对象 42
2.7.2 string类方法的使用 43
2.7.3 stringbuffer类方法的使用 48
2.7.4 如何将方法进行链接 51
2.8 小结 52
第3章 流程控制 53
3.1 条件控制语句 53
3.1.1 if语句编写规范 53
3.1.2 if语句 54
3.1.3 if-else语句 56
3.1.4 if-else-if语句 57
3.1.5 switch语句 58
3.2 循环语句 61
3.2.1 for语句 61
3.2.2 while语句 63
3.2.3 do-while语句 65
3.3 跳转语句 66
3.3.1 break语句——不带标号 67
3.3.2 break语句——带标号 67
3.3.3 continue与return语句 68
3.4 小结 69
第2篇 java的面向对象性
第4章 面向对象的思想 72
4.1 面向对象 72
4.1.1 什么是类 72
4.1.2 什么是对象 73
4.2 面向对象的特性 73
4.2.1 封装 73
4.2.2 继承 74
4.2.3 多态 76
4.2.4 抽象 77
4.3 小结 79
第5章 java类和包 80
5.1 类 80
5.1.1 创建类 80
5.1.2 类的对象 81
5.1.3 建立构造函数 83
5.1.4 对象的清除 85
5.2 类和对象 85
5.2.1 创建与实例化对象 85
5.2.2 静态修饰符 86
5.3 访问成员变量及方法 88
5.3.1 public公共修饰符 88
5.3.2 protected保护修饰符 89
5.3.3 private私有修饰符 90
5.3.4 其他修饰符 92
5.4 抽象类与抽象方法 95
5.4.1 抽象的概念 95
5.4.2 抽象的规则 96
5.5 包 98
5.5.1 包的定义 98
5.5.2 如何导入包 99
5.5.3 访问控制 101
5.6 小结 102
第6章 继承与多态 103
6.1 继承 103
6.1.1 超类和子类的关系 103
6.1.2 成员变量能否被继承 105
6.1.3 对象在超类与子类中的
使用 106
6.2 父类 108
6.2.1 调用父类的构造函数 108
6.2.2 访问超类的成员变量及
方法 111
6.2.3 多层次的继承 112
6.3 重载 114
6.3.1 重载的定义 115
6.3.2 重载规则 116
6.4 重写 117
6.4.1 重写的定义 117
6.4.2 重写规则 119
6.5 小结 125
第7章 类的应用 126
7.1 final关键字的使用 126
7.1.1 final常量的使用 126
7.1.2 最终方法 129
7.1.3 最终类 131
7.2 静态修饰符 132
7.2.1 静态变量 133
7.2.2 静态方法 134
7.3 接口的应用 137
7.3.1 如何定义接口 137
7.3.2 接口常量 138
7.3.3 接口的实现 142
7.3.4 如何引用接口 146
7.4 内部类的应用 148
7.4.1 内部类 148
7.4.2 内部类的使用 149
7.4.3 匿名内部类 154
7.5 小结 159
第3篇 应 用 篇
第8章 异常 162
8.1 异常简介 162
8.1.1 什么是异常 162
8.1.2 异常分类 163
8.2 异常处理形式 164
8.2.1 try/catch语句 164
8.2.2 throws声明异常 168
8.2.3 throw抛出异常 170
8.2.4 自定义异常 172
8.3 小结 174
第9章 输入输出流 175
9.1 数据流的概念和划分 175
9.1.1 什么是数据流 175
9.1.2 数据流的划分 176
9.2 字节流 177
9.2.1 通过字节流读写数据 177
9.2.2 fileinputstream类 178
9.2.3 fileoutputstream类 179
9.2.4 用快捷方式读取特定信息 181
9.2.5 引入缓冲流读取文件 183
9.3 字符流 184
9.3.1 如何读取unicode字符 184
9.3.2 读取字符文件 185
9.3.3 如何提高io流操作 187
9.3.4 通过字符读取文件及写出 189
9.4 文件类 190
9.4.1 文件类简介 190
9.4.2 通过文件类对文件操作 192
9.5 小结 193
第10章 多线程 194
10.1 多线程简介 194
10.1.1 多线程概念 194
10.1.2 多线程在java中的使用 194
10.2 如何创建线程 196
10.2.1 主线程的创建 196
10.2.2 实现runnable接口 197
10.2.3 通过继承thread类创建线程 198
10.2.4 两种方法的比较 200
10.2.5 创建多线程 200
10.3 线程状态 202
10.3.1 新状态 203
10.3.2 可运行状态 203
10.3.3 运行状态 203
10.3.4 等待/被阻塞/睡眠/监控/挂起状态 204
10.3.5 死状态 204
10.4 线程的调度 204
10.4.1 优先级 204
10.4.2 sleep睡眠方法 206
10.4.3 join加入方法 208
10.4.4 yield让步方法 210
10.5 线程同步和通信 212
10.5.1 同步的必要性 212
10.5.2 实现同步 214
10.5.3 同步代码块和死锁 215
10.5.4 线程间通信 218
10.6 小结 220
第11章 awt组件开发 221
11.1 awt入门 221
11.1.1 第一个窗口 221
11.1.2 窗口基础应用 222
11.1.3 创建多个窗口 224
11.2 布局管理器 225
11.2.1 flowlayout 225
11.2.2 borderlayout 227
11.2.3 gridlayout 230
11.2.4 cardlayout 233
11.3 组件和监听接口 236
11.3.1 按钮和actionlistener 236
11.3.2 运用windowlistener 237
11.3.3 文本组件和textlistener 239
11.4 小结 240
第12章 swing界面编程 241
12.1 swing组件库 241
12.1.1 jfc结构 241
12.1.2 与awt区别 241
12.2 jframe窗口容器 241
12.2.1 jframe简介和方法 242
12.2.2 jframe应用 242
12.3 通过icon接口进行图像操作 243
12.3.1 icon接口简介和方法 243
12.3.2 icon接口应用 244
12.4 按钮 245
12.4.1 按钮简介和方法 246
12.4.2 按钮的应用 246
12.5 复选按钮 247
12.5.1 复选按钮简介和方法 247
12.5.2 复选按钮应用 248
12.6 弹出式菜单 249
12.6.1 弹出式菜单简介和方法 249
12.6.2 弹出式菜单应用 249
12.7 单选按钮 251
12.7.1 单选按钮简介和方法 251
12.7.2 单选按钮应用 252
12.8 下拉列表框 253
12.8.1 下拉列表框简介和方法 253
12.8.2 下拉列表框应用 254
12.9 选项卡 255
12.9.1 选项卡简介和方法 255
12.9.2 选项卡应用 255
12.10 滑杆 257
12.10.1 滑杆简介和方法 257
12.10.2 滑杆应用 257
12.11 滚动条 259
12.11.1 滚动条简介和方法 259
12.11.2 滚动条应用 259
12.12 列表框 260
12.12.1 列表框简介和方法 261
12.12.2 列表框应用 261
12.13 菜单 262
12.13.1 菜单简介和方法 262
12.13.2 菜单应用 263
12.14 小结 264
第13章 网络编程 265
13.1 了解网络基础 265
13.1.1 tcp/ip协议的认识 265
13.1.2 url的使用 265
13.2 网络编程步骤 269
13.2.1 使用socket进行网络连接 269
13.2.2 创建socket 269
13.2.3 服务器端的访问 270
13.2.4 客户端的访问 271
13.2.5 多客户端连接 273
13.2.6 网络编程综合案例 274
13.3 小结 279
第14章 jdbc数据库开发 280
14.1 通过jdbc访问数据库 280
14.1.1 jdbc的概念 280
14.1.2 jdbc在java中的应用 280
14.2 简单介绍数据库 281
14.2.1 关系数据库 281
14.2.2 对access的操作 281
14.2.3 数据库语言及其操作 282
14.3 jdbc编程步骤 285
14.3.1 创建数据源 286
14.3.2 加载驱动程序 287
14.3.3 指定数据库 287
14.3.4 打开数据库连接 288
14.3.5 提交查询 288
14.3.6 取得查询结果 288
14.4 使用preparedstatement进行
预编译操作 289
14.4.1 preparedstatement简介 289
14.4.2 preparedstatement应用 290
14.5 元数据 291
14.5.1 数据库的databasemetadata
元数据 291
14.5.2 结果集的resultsetmetadata
元数据 291
14.6 结果集处理 293
14.6.1 可滚动结果集 293
14.6.2 可更新结果集 295
14.7 小结 295
第15章 html标签的使用 296
15.1 html简介 296
15.1.1 html基本结构 296
15.1.2 第一个html文件 297
15.1.3 html标记分类 298
15.1.4 html文档的特点 298
15.2 字体属性标记 298
15.2.1 [hn]标记 298
15.2.2 [b]粗体字 299
15.2.3 [i]斜体字标记 300
15.2.4 [u]加底线标记 301
15.2.5 [del]删除线标记 301
15.2.6 [!...]注解标记 302
15.2.7 设定字体大小、颜色、字型标记 303
15.3 标示标记的使用 305
15.4 区段标记的使用 306
15.5 链接标记的调用 308
15.6 图像标记的使用 308
15.7 表单标记的使用 309
15.7.1 form表单 309
15.7.2 text文本框 310
15.7.3 password密码框 311
15.7.4 radio单选按钮 312
15.7.5 checkbox复选框 313
15.7.6 select列表框 313
15.7.7 file文件夹 314
15.7.8 textarea文本框 315
15.7.9 submit提交及reset清除 316
15.8 小结 317
第16章 javascript脚本语言 318
16.1 javascript的基本介绍 318
16.1.1 javascript语言概括 318
16.1.2 javascript代码结构 318
16.1.3 javascript数据类型 320
16.1.4 javascript运算符与表达式 320
16.1.5 javascript常量和变量 320
16.2 javascript事件 321
16.2.1 onclick事件 322
16.2.2 onchange事件 323
16.3 javascript对象 324
16.3.1 string字符串 324
16.3.2 math对象 326
16.3.3 date对象 327
16.4 浏览器内置对象 328
16.4.1 history对象 328
16.4.2 document对象 329
16.5 窗体对象 329
16.5.1 窗体对象简述 329
16.5.2 button按钮 330
16.5.3 text单行文本框 331
16.5.4 select选择文本框 332
16.5.5 checkbox复选框 333
16.5.6 radio单选按钮 335
16.6 小结 336
第17章 jsp网页编程 337
17.1 jsp简介 337
17.1.1 主流web技术介绍 337
17.1.2 jsp的运行环境介绍 338
17.1.3 安装和启动jsp运行环境 338
17.2 jsp程序演示 339
17.2.1 体验jsp 339
17.2.2 jsp与html的初步结合 340
17.3 jsp的基本语法 341
17.4 jsp指令 344
17.4.1 page指令 344
17.4.2 include指令 346
17.5 jsp动作 347
17.5.1 param动作 347
17.5.2 forward动作 348
17.5.3 include动作 349
17.5.4 plugin动作 350
17.5.5 usebean动作 353
17.6 jsp内置对象 354
17.6.1 out对象 354
17.6.2 request对象 355
17.6.3 response对象 358
17.6.4 session对象 361
17.7 小结 364
第18章 servlet服务器端编程 365
18.1 servlet简介 365
18.2 servlet常用接口介绍 365
18.2.1 异常相关 366
18.2.2 配置相关 366
18.2.3 实现相关 367
18.2.4 请求与响应相关 368
18.2.5 会话相关 371
18.2.6 servlet上下文 374
18.3 httpservlet对象 375
18.3.1 doget 375
18.3.2 dopost 377
18.4 小结 379
第19章 j2ee概述 380
19.1 远程方法调用 380
19.1.1 远程方法调用简介 380
19.1.2 远程接口 380
19.1.3 服务器类 381
19.1.4 rmic编译器 383
19.1.5 启动registry 383
19.1.6 客户类 383
19.2 jndi命名和目录接口 384
19.2.1 jndi简介 384
19.2.2 为命名服务初始化参数 385
19.2.3 注册对象 386
19.2.4 jndi和rmi结合 387
19.3 使用ejb开发企业级程序 390
19.3.1 ejb简介 390
19.3.2 无状态会话ejb概述 390
19.3.3 无状态会话ejb:远程业务
逻辑接口 391
19.3.4 无状态会话ejb:生命周期接口 391
19.3.5 无状态会话ejb:组件类 392
19.3.6 无状态会话ejb:部署描述文件 393
19.3.7 无状态会话ejb:客户端 394
19.3.8 有状态会话ejb概述 395
19.3.9 有状态会话ejb:远程业务
逻辑接口 396
19.3.10 有状态会话ejb:生命
周期接口 396
19.3.11 有状态会话ejb:组件类 397
19.3.12 有状态会话ejb:部署
描述文件 398
19.3.13 有状态会话ejb:客户端 399
19.4 小结 400
第4篇 项目开发篇
第20章 考生信息管理系统 402
20.1 需求分析 402
20.2 系统设计 402
20.3 登录模块 402
20.3.1 设计构想 402
20.3.2 实现登录模块 403
20.4 考生信息模块 405
20.4.1 设计构想 405
20.4.2 实现考生信息主界面 405
20.4.3 增加信息 408
20.4.4 删除信息 411
20.4.5 修改信息 414
20.4.6 基本信息查询 417
20.4.7 成绩查询 421
20.4.8 退出系统 425
20.5 教师信息模块 427
20.5.1 主界面 427
20.5.2 增加信息 429
20.5.3 删除信息 433
20.5.4 修改信息 436
20.5.5 录入成绩 439
20.5.6 删除成绩 443
20.5.7 修改成绩 446
20.5.8 基本信息查询 449
20.5.9 退出系统 453
20.6 小结 455
第21章 图书订购系统 456
21.1 需求分析 456
21.2 系统设计 456
21.3 系统实现 457
21.3.1 实现效果 457
21.3.2 图书订购系统框架页面 459
21.3.3 页头页面 459
21.3.4 用户登录 460
21.3.5 主页 461
21.3.6 购物车页面 463
21.3.7 注册页面 466
21.3.8 错误页面 472
21.3.9 应用javabean 473
21.4 小结 478