首页>参考读物>计算机科学与技术>软件与程序设计

零基础学Java(第5版)
作者 : 黄传禄 常建功 陈浩 编著
丛书名 : 零基础学编程
出版日期 : 2020-05-22
ISBN : 978-7-111-65497-1
定价 : 99.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 588
开本 : 16
原书名 :
原出版社:
属性分类: 店面
包含CD : 无CD
绝版 : 未绝版
图书简介

Java是使用面很广的面向对象的开发语言。本书站在零基础学习的角度,通过通俗易懂的语言和丰富多彩的实例,帮助初学者尽快掌握Java语言程序设计的核心知识点而少走弯路。
本书一共分为四篇,共24章,循序渐进地讲述了Java语言的语法规则,以及Eclipse和MyEclipse开发环境的使用,从基本概念到具体实践、从入门知识到高阶主题、从语法语义到数据结构和算法都进行了详细的阐述,内容主要包括运算符、表达式、分支语句、循环语句、函数、数组、字符串、类、对象、包、继承、多态、封装、枚举、反射、标注、泛型、类加载器、动态代理、多线程、文件的操作和访问、数据的操作、数据的存储、Java数据结构、XML文件的创建和解析、数据库的连接、网络编程和界面的设计等知识点。书中的所有知识都结合具体实例进行介绍,涉及的程序代码都给出了详细的注释,有助于读者轻松领会程序开发的精髓,快速提高开发技能。

图书特色

本书特色
◎ 由浅入深,循序渐进,从零开始学Java,一点都不难
◎ 编程基础、编程进阶、编程应用、项目实战、上机练习、面试指南
◎ 300个实例、1个案例、123个练习题、21个面试题

超值赠送
◎ 本书教学视频  ◎ 本书源代码  ◎ 本书教学PPT  ◎ 本书习题答案

赠送资料获取地址
www.hzbook.com

本书技术支持
论坛:http://www.rzchina.net

图书前言

Java语言拥有面向对象、跨平台、分布式、高性能、可移植等优点和特性,是目前应用最广泛的编程语言之一。Java语言不仅可以制作网站后台,而且还能够操作各种操作系统;不仅可以应用于多媒体开发,而且还可以制作大型网络游戏;目前最流行的手机操作系统Android也是在Linux内核的基础上通过Java语言实现的。
本书的目的是让读者对Java语言的语法有更进一步的了解,尤其为新手进入编程行业提供一个全面学习的阶梯。笔者结合自己多年的学习和编程经验,为广大程序员详细介绍了Java的全部语法,使程序员能够夯实自己的基础知识,完善自己的知识结构,拓宽自己的知识面。
在讲解知识点时,笔者采用由浅入深、逐级递进的学习方式。本书是Java语言初、中级学习者的绝佳入门指南。
本书特色
本书详尽介绍了Java语法的特点和Eclipse、MyEclipse的编程环境,在组织与取材方面尽量让读者能够正确、全面地掌握该语言的优势,建立牢固的知识体系,当Java新版本出现时,有能力欣赏与感悟新版本所带来的激动人心的变化。通过本书的学习,任何想用Java语言做项目的开发人员都能有所收获。本书语言简练,讲解循序渐进,实例简洁明了,易于学习。
本书的特点主要体现在以下几个方面。
? 编排采用由浅入深、循序渐进的方式,各章主题鲜明、要点突出,适合初、中级学习者逐步掌握Java语法规则和面向对象编程思想。
? 对Eclipse、MyEclipse编程环境的各种应用都做了详细的介绍,适合初、中级学习者快速熟悉并使用该编程环境。
? 实例丰富,关键知识点都辅以实例帮助读者理解。实例程序简洁,紧扣所讲的技术细节,采用短小精练的代码,并配以详细的代码解释和说明,使读者印象深刻,理解透彻。
? 实例可移植性强,与编译环境和平台无关,读者可轻易将代码复制到自己的机器上进行实验,自行实践和演练,直观体会所讲要点,感受Java语言的无限魅力。书中所有例子的源代码都可在www.hzbook.com网站下载。
? 结构清晰、内容全面,几乎兼顾了所有Java语言特性。
? 结合笔者多年的Java语言编程和系统开发经验,特别标注出易出错的技术点或初学者易误解的细节,使读者在学习中少走弯路,加快学习进度。
? 很多Java语言书籍只讲语法规则,不讲数据结构和编程思想,读者即便掌握了语法理论,也无法写出大型的Java语言程序。本书弥补了这些不足,介绍了数据结构和算法的知识,阐述了结构化程序设计的思想,探讨了高质量编程的内容,为读者深入学习软件开发打下基础。
本书内容
本书分为四篇,共24章,结合目前最流行的软件编程环境,全方位介绍了Java的编程思想及特色。本书首先讲述Java语言的语法知识,使读者对Java语言语法和编程机制有一个初步的了解。接着进一步介绍Java语言编程中常用的操作,即Java语言编程主题、一些深层次的技术细节,以及理解起来比较困难、易出错的要点。最后结合笔者的开发经验详细讲解了一个项目案例和一些面试技巧。
第一篇(第1~4章)Java语言语法基础——面向过程知识
本篇讲述了Java语言语法基础知识,包含面向过程涉及的所有语法:Java技术概览、Java开发工具及环境设置、Java语言中的数据类型与运算符、程序设计中的流程控制。读者通过学习本篇可对Java语言中的面向过程语法有一个初步而全面的认识,了解Java语言的由来及强大功能,明确Java源文件的编译和运行过程,熟悉Java语言程序的结构,知道如何声明变量,如何通过三大流程控制语句组织程序。学完本篇读者便可自行编写简单的Java语言程序。
第二篇(第5~11章)Java语言语法进阶——面向对象知识
Java语言之所以被称为高级语言,是因为它实现了面向对象思想,具有面向对象的语法。本篇首先详细介绍了数组和字符串的基本操作及应用、类的设计、对象的创建等。然后重点讲解如何通过Java语言实现面向对象思想的三大特性:继承、多态和封装。学完本篇读者才算真正了解Java语言语法。
第三篇(第12~22章)Java语言编程主题
在具体开发Java语言程序时,会进行一些常用操作,如文件的操作和访问、异常处理和内存管理、数据的存储和操作、XML文件的创建和解析、数据库的连接、网络编程和界面的设计。本篇通过11章的内容详细介绍了上述编程主题,学完本篇读者就可以迅速开发Java语言程序了。
第四篇(第23~24章)Java语言程序设计实例与面试题剖析
本篇的目的是让读者掌握Java语言开发案例和实践项目。虽然这里只提供了“学校管理系统”项目的开发,但读者需要重点掌握的是Java语言语法和项目开发流程。最后一章通过一些常见的Java语言面试题,为读者踏入职场做好准备。
读者对象
本书作为Java语言的基础教程,适合于:
? 希望进入Java编程行业的新手。
? 迫切希望提高个人编程技能和水平的初级程序员。
? 具备一定编程经验但是语法基础不牢固的工程师。
? 希望了解Java语法最新变化的程序员。
? 希望了解和使用Eclipse和MyEclipse工具的程序员。
? 需要一本案头必备查询手册的人员。
关于作者
本书主要由江西信息应用职业技术学院的高级讲师黄传禄编著。作者在本书编写过程中参阅了大量国内外文献资料,同时还得到了南昌翰诚信息咨询有限公司其他相关人员的支持和帮助,并参考了作者所在培训公司的一些工作成果和相关文献,在此对本书相关人员表示诚挚的谢意。
由于作者水平有限,书中疏漏、错误之处在所难免,敬请同行专家及广大读者批评指正。

黄传禄
2020年1月14日

上架指导

计算机\程序设计

封底文字

零门槛学习,没有任何基础便可轻松掌握
每个知识点都对应相应的实例讲解,容易理解
给出编程经验、编程陷阱、编程技巧和编程谬误
提供上机实践练习题和常见面试题及解答
源代码提供了详细的注释,阅读起来无障碍
提供典型案例帮助读者提高开发水平
提供配套的多媒体教学视频,学习效果更好
提供了专门的售后服务论坛:http://www.rzchina.net

作者简介

黄传禄 常建功 陈浩 编著:黄传禄 高级讲师、管理软件开发工程师、数据库库系统工程师、信息系统管理工程师。有10多年的一线教学经验和高端培训经验,出版多部技术专著,获得多个软件著作权。拥有多年的软件开发和设计经验,主持开发完成高校学生信息共享平台设计项目、车联网项目的设计、国土资源局的触摸屏项目等,对javascript编程有着丰富的实战经验和独到的见解。

图书目录

前言
第一篇 Java语言语法基础——面向过程知识
第1章 Java技术概览 1
1.1 Java技术 1
1.1.1 认识Java语言 1
1.1.2 认识Java平台 2
1.1.3 Java语言的功能 3
1.1.4 Java语言的优点 3
1.1.5 Java分布式应用和多线程的特点 4
1.1.6 Java程序的可靠性、安全性 4
1.2 Windows下的“HelloWorld”应用程序 5
1.2.1 创建应用程序的软件环境 5
1.2.2 创建“HelloWorld”应用程序的步骤 5
1.3 深入探讨“HelloWorld”应用程序 7
1.3.1 注释源代码 8
1.3.2 实现类定义 8
1.3.3 详解main()方法 9
1.4 常见疑难解答 9
1.4.1 环境变量设置错误 9
1.4.2 语法错误 9
1.4.3 语义错误 10
1.4.4 运行时错误 10
1.4.5 初学者如何选择Java参考书 11
1.5 小结 11
1.6 习题 12
第2章 Java开发工具及环境设置 13
2.1 Java开发工具简介 13
2.1.1 下载并安装JDK 13
2.1.2 设定环境变量 16
2.1.3 验证JDK环境是否配置成功 18
2.2 JDK内置工具 18
2.2.1 JDK常用工具 18
2.2.2 JDK常用工具的使用实例 18
2.2.3 Java应用程序的发布工具 20
2.3 一个简单的Java应用程序 20
2.4 Java程序员的编码规则 21
2.5 常见疑难解答 23
2.5.1 Java文件扩展名是否区分大小写 23
2.5.2 Javac xxx.java顺利通过,但Java xxx显示“NoClassDefFoundError” 23
2.5.3 导致错误“Exception in thread main java.lang.NoSuchMethodError:main”的原因 23
2.6 小结 24
2.7 习题 24
第3章 Java语言中的数据类型与运算符 25
3.1 数制 25
3.1.1 基本概念 25
3.1.2 Java语言中的数制表现形式 25
3.2 数据类型 26
3.2.1 整型 26
3.2.2 字符型 29
3.2.3 浮点型 29
3.2.4 布尔型 31
3.3 变量 31
3.3.1 变量的声明 32
3.3.2 变量的含义 32
3.3.3 变量的分类 32
3.4 变量如何初始化 34
3.5 常量 36
3.6 运算符 37
3.6.1 算术运算符 37
3.6.2 关系运算符 41
3.6.3 逻辑运算符 42
3.6.4 位运算符 44
3.6.5 移位运算符 46
3.6.6 赋值运算符 48
3.6.7 三元运算符 49
3.6.8 逗号运算符 49
3.6.9 转型运算符 49
3.6.10 运算符的优先级别 50
3.7 常见疑难解答 50
3.7.1 如何将十进制转换成二进制 50
3.7.2 转型运算符会引起精度问题,为什么还要使用它 51
3.8 小结 51
3.9 习题 51
第4章 程序设计中的流程控制 52
4.1 编程风格 52
4.2 条件语句 53
4.2.1 简单条件语句 53
4.2.2 最简单的条件语句 54
4.2.3 适应多条件的条件语句 55
4.2.4 嵌套条件语句 58
4.2.5 如何使用条件语句 59
4.3 循环语句 59
4.3.1 for循环语句 59
4.3.2 while循环 62
4.3.3 do…while语句 65
4.4 中断与继续语句 66
4.4.1 中断控制语句 66
4.4.2 继续语句 68
4.5 分支语句 69
4.6 返回语句 72
4.7 常见疑难解答 72
4.7.1 普通循环是使用for语句还是while语句 72
4.7.2 一般的程序可否用分支语句来代替条件语句 73
4.8 小结 73
4.9 习题 73
第二篇 Java语言语法进阶——面向对象知识
第5章 数组 75
5.1 数组概念的引入 75
5.1.1 实例的引入 75
5.1.2 数组的概念 75
5.1.3 用实例说明数组的用处 76
5.2 基本数据类型的数组 76
5.2.1 基本类型数组的声明 77
5.2.2 基本类型数组的初始化 77
5.3 由实例引出不同数组种类及其使用 78
5.3.1 认识一维数组 78
5.3.2 由实例引出一维数组及其使用 78
5.3.3 由实例引出二维数组及其使用 81
5.4 多维数组 82
5.4.1 多维数组的声明 82
5.4.2 初始化多维数组 83
5.4.3 使用多维数组 83
5.5 数组的综合实例 84
5.6 常见疑难解答 88
5.6.1 声明数组需要注意什么 88
5.6.2 数组在平时的程序代码中使用是否频繁 88
5.7 小结 88
5.8 习题 88
第6章 字符串的处理 90
6.1 认识字符串 90
6.1.1 代码中的字符串 90
6.1.2 String类和StringBuffer类的比较 91
6.2 字符串处理的类库种类 92
6.2.1 字符串的赋值 92
6.2.2 字符串处理类——String 92
6.2.3 字符串处理的方法 95
6.2.4 缓冲字符串处理类——StringBuffer 102
6.2.5 缓冲字符串StringBuffer类的构造器 102
6.2.6 缓冲字符串的处理 103
6.2.7 缓冲字符串类的特点 107
6.3 用实例演示如何处理字符串 107
6.4 如何格式化输出字符串 108
6.5 常见疑难解答 109
6.5.1 equals和“==”的区别 109
6.5.2 String类为何被定义成final约束 109
6.5.3 char类型如何转换成int类型,int类型如何转换成字符串 109
6.6 小结 109
6.7 习题 110
第7章 类和对象 111
7.1 面向对象开发中的类 111
7.1.1 在Java中类的定义 111
7.1.2 Java中的类与现实世界的类 112
7.2 万事万物皆对象 112
7.2.1 什么是对象 112
7.2.2 操作对象 113
7.2.3 初始化对象 113
7.2.4 对象的成员方法 114
7.2.5 对象的成员变量 119
7.3 对象中访问控制符的重要性 119
7.3.1 什么是访问控制符 119
7.3.2 如何使用访问控制符及其重要性 121
7.4 Java中的基础类 123
7.4.1 Java的数学运算处理类Math 123
7.4.2 测试时间和日期的类Date 125
7.4.3 测试日历的类GregorianCalendar 126
7.4.4 日历处理的实例解析 127
7.5 用实例分析设计一个类的流程 129
7.5.1 如何在现实程序设计中提取一个类 129
7.5.2 设置器和访问器 135
7.5.3 总结 137
7.6 常见疑难解答 137
7.6.1 类在程序语言中起到了什么作用 137
7.6.2 设置器和访问器的作用 137
7.7 小结 137
7.8 习题 137
第8章 重载和包 138
8.1 重载 138
8.1.1 什么是重载 138
8.1.2 用实例来说明重载的意义 139
8.2 包 140
8.2.1 什么是Java中的包 140
8.2.2 如何实现包 140
8.2.3 什么是类路径和默认包 142
8.2.4 包的作用域 142
8.2.5 静态导入 142
8.3 包的注释及嵌入文档 144
8.3.1 如何添加注释 144
8.3.2 类、方法、字段等注释的方法 144
8.4 常见疑难解答 145
8.4.1 包在实际编程中究竟有什么作用 145
8.4.2 一个文件中定义了两个class类是否生成一个.class文件 145
8.5 小结 145
8.6 习题 145
第9章 继承和多态 147
9.1 什么是继承 147
9.1.1 继承的引出 147
9.1.2 继承的概念 148
9.1.3 如何实现继承 149
9.1.4 如何设计继承 151
9.2 构造函数的使用 151
9.2.1 什么是构造函数 151
9.2.2 继承中构造函数的初始化 152
9.2.3 替代父类和本身的方式 153
9.2.4 Java中的单继承性 154
9.3 继承中的覆盖现象 154
9.4 类之间的关系 154
9.4.1 依赖 155
9.4.2 聚合 155
9.4.3 继承 155
9.5 继承层次图 156
9.6 多态 156
9.6.1 多态的产生 156
9.6.2 多态的概念 157
9.6.3 使用多态编写程序 158
9.6.4 覆盖的应用 159
9.6.5 重载与覆盖的实例对比 160
9.6.6 覆盖的多态性 160
9.6.7 传值引用和传址引用 162
9.7 通过实例熟悉多态用法 163
9.8 绑定 165
9.8.1 静态绑定 165
9.8.2 动态绑定 165
9.9 超类 165
9.9.1 什么是超类 165
9.9.2 equals方法的使用 166
9.9.3 通用编程 166
9.10 常见疑难解答 166
9.10.1 Java不支持多继承,如何处理一个类继承多个父类的情况 166
9.10.2 如果出现了带参数的构造函数,可否不在代码中写出来 167
9.10.3 动态和静态编译是什么 167
9.10.4 绑定与多态的联系是什么 167
9.10.5 多态与重载的区别是什么 167
9.11 小结 167
9.12 习题 167
第10章 接口与内部类 171
10.1 接口 171
10.1.1 接口概念的引入 171
10.1.2 接口的声明 172
10.1.3 接口的实现 172
10.1.4 接口的多重实现 177
10.1.5 接口的属性 182
10.1.6 接口的继承 182
10.2 内部类 188
10.2.1 使用内部类来访问对象 188
10.2.2 局部内部类 191
10.2.3 静态内部类 194
10.2.4 匿名内部类 194
10.3 常见疑难解答 194
10.3.1 匿名类如何在程序中使用 194
10.3.2 接口与继承有什么区别 194
10.4 小结 194
10.5 习题 194
第11章 抽象和封装 196
11.1 抽象的概念 196
11.1.1 什么是抽象 196
11.1.2 抽象的综合实例 197
11.2 抽象类 200
11.2.1 什么是抽象类 200
11.2.2 抽象类的实例 200
11.3 抽象与接口的区别 205
11.4 枚举 205
11.4.1 关于枚举的实现原理 205
11.4.2 枚举的简单应用 207
11.4.3 关于枚举的高级特性 208
11.5 反射 210
11.5.1 关于反射的基石——Class类 210
11.5.2 关于反射的基本应用 212
11.5.3 关于反射的高级应用 216
11.6 标注 219
11.6.1 标注的简单使用 219
11.6.2 关于JDK的内置标注 221
11.7 泛型 223
11.7.1 为什么要使用泛型 223
11.7.2 关于泛型的一些特性 226
11.7.3 关于泛型的通配符 228
11.8 类加载器 229
11.8.1 什么是类加载器 230
11.8.2 什么是类加载器的委派模型 231
11.9 动态代理 232
11.9.1 什么是代理 232
11.9.2 关于动态代理基础类 233
11.9.3 关于InvocationHandler接口 237
11.9.4 动态代理类的设计模式 240
11.10 封装的概念 242
11.10.1 一个封装的例子 242
11.10.2 在程序设计中为什么要使用封装 244
11.10.3 在程序设计中设计封装的注意点 246
11.11 结合实例讲述如何设计封装 246
11.12 常见疑难解答 251
11.12.1 抽象类和接口在概念上有什么区别 251
11.12.2 如何从设计理念上看待抽象类和接口 251
11.12.3 封装在现实开发中给程序员带来什么启发 253
11.12.4 封装在实际开发中的应用有哪些 254
11.13 小结 254
11.14 习题 255
第三篇 Java语言编程主题
第12章 线程 257
12.1 线程的基本概念 257
12.1.1 进程及其使用环境 257
12.1.2 线程及其使用环境 257
12.2 线程的创建 258
12.2.1 如何创建线程 258
12.2.2 通过实例熟悉如何创建线程 261
12.2.3 线程的状态 264
12.3 线程的使用 266
12.3.1 线程的优先级 266
12.3.2 线程的休眠与唤醒 267
12.3.3 线程让步 271
12.3.4 线程同步 272
12.3.5 同步块 274
12.3.6 同步化方法 277
12.4 实例分析 278
12.4.1 生产者与消费者的程序设计及分析 278
12.4.2 多消费者的程序设计及分析 280
12.4.3 多生产者的程序设计及分析 283
12.5 常见疑难解答 288
12.5.1 Java中线程与线程之间怎么通信 288
12.5.2 什么是进程的死锁和饥饿 288
12.5.3 什么时候会涉及线程程序 289
12.5.4 多线程的死锁问题 289
12.5.5 多线程的缺点 290
12.6 小结 290
12.7 习题 290
第13章 异常的处理与内存的管理 292
13.1 异常的概念 292
13.1.1 异常的分类 292
13.1.2 异常的声明 293
13.1.3 异常的抛出throw 294
13.2 异常的捕获 295
13.2.1 捕获多个异常 296
13.2.2 自定义异常 298
13.2.3 运行期异常 299
13.2.4 执行finally子句 300
13.2.5 finally子句的必要性 301
13.3 内存的管理和回收 303
13.4 常见疑难解答 304
13.4.1 为什么要声明方法抛出异常 304
13.4.2 为什么抛出的异常一定是检查异常 304
13.5 小结 305
13.6 习题 305
第14章 Java输入与输出 306
14.1 输入与输出的重要性 306
14.2 Java重要的输入输出类 306
14.3 文件或目录信息的处理 307
14.3.1 File类常用的操作方法 307
14.3.2 文件处理方法的应用 308
14.3.3 文件和目录的操作 308
14.4 读取数据的媒介之一——流 310
14.4.1 什么是流 311
14.4.2 什么是输入流和输出流 311
14.4.3 字节输入流及输出流 311
14.4.4 使用文件字节输入流读取文件 312
14.4.5 使用文件字节输出流输出文件 313
14.5 多字节数据读取类——Filter类 315
14.5.1 Filter流的概念 315
14.5.2 处理字节类型以外的文件输入 315
14.5.3 处理字节类型以外的文件输出 316
14.5.4 增强的多字节输出流DataOutput 316
14.5.5 增强的多字节输入流DataInput 317
14.6 读取数据的媒介之二——字符流 320
14.6.1 字符流的概念 320
14.6.2 抽象字符输入流Reader类的使用 320
14.6.3 抽象字符输出流Writer类的使用 321
14.6.4 读取带缓存的BufferedReader字符流 321
14.6.5 带缓存的字符输出流BufferedWriter类 322
14.6.6 字符输入流FileReader类和FileWriter类的使用 325
14.6.7 如何用标准输入流System.in来获取数据 326
14.6.8 打印输入流PrintWriter类与PrintStream类的区别 327
14.6.9 随机文件访问RandomAccessFile类 329
14.7 利用对象序列化控制输入输出 331
14.7.1 什么是对象序列化 331
14.7.2 基本数据和对象数据读写ObjectInput接口与ObjectOutput接口 332
14.7.3 对象序列化处理ObjectOutputStream类 332
14.7.4 对象序列化处理ObjectInputStream类 333
14.8 常见疑难解答 333
14.8.1 字节流与字符流的主要区别 333
14.8.2 输入流与输出流如何区分,各有什么作用 334
14.8.3 什么是管道流 334
14.9 小结 335
14.10 习题 335
第15章 Java中对数据的处理 336
15.1 如何将基本数据类型转换为对象 336
15.1.1 为什么要将基本数据转换为对象 336
15.1.2 Wrapper类的构造函数 337
15.1.3 包装类的常用函数 338
15.1.4 基本数据的拆装箱操作 339
15.2 如何处理随机性的数据 341
15.2.1 Random类的基础知识 341
15.2.2 通过实例熟悉Random类的常用方法 342
15.3 如何对数据进行排列、整理 345
15.3.1 Arrays类的常用方法 345
15.3.2 实例分析 347
15.4 常见疑难解答 350
15.4.1 Random类函数在现实生活中有什么用处 350
15.4.2 数组的排列和整理数据在实际应用中有什么用处 350
15.5 小结 351
15.6 习题 351
第16章 数据结构接口 352
16.1 数据结构接口及实现 352
16.1.1 数据结构接口的实质 352
16.1.2 用实例来熟悉数据结构接口的实现 353
16.2 Collection集合接口与Iterator迭代器接口 354
16.2.1 熟悉Collection集合接口 354
16.2.2 List接口和Set接口 355
16.2.3 Map映射接口 356
16.2.4 Iterator迭代器接口 357
16.2.5 通过实例来认识迭代器的实现 358
16.3 常见疑难解答 360
16.3.1 Collection集合接口和Collections集合类的区别 360
16.3.2 ArrayList数组列表类和Vector存储类的区别 360
16.3.3 HashMap散列映射和Hashtable散列表的区别 360
16.3.4 数据结构的种类有哪些 360
16.3.5 List接口和Set接口的区别 360
16.4 小结 361
16.5 习题 361
第17章 Java中的数据结构 362
17.1 链表 362
17.1.1 什么是Java中的链表 362
17.1.2 用程序代码段实现对链表的添加 363
17.1.3 用程序代码段实现对链表的删除 365
17.2 数组列表类 369
17.2.1 什么是数组列表类 369
17.2.2 通过实例熟悉数组列表如何存储数据 370
17.3 散列表 374
17.3.1 什么是散列表 374
17.3.2 通过实例熟悉散列表如何存储数据 374
17.4 散列集 378
17.4.1 什么是散列集 378
17.4.2 通过实例熟悉散列集如何存储数据 378
17.5 树集 383
17.5.1 什么是树集 383
17.5.2 通过实例熟悉树集如何存储数据 384
17.6 映像 387
17.6.1 什么是映像 387
17.6.2 通过实例熟悉映像如何存储数据 387
17.7 常见疑难解答 391
17.7.1 哪些是线程安全的数据结构 391
17.7.2 Vector是什么样的数据结构 391
17.8 小结 392
17.9 习题 392
第18章 XML基础 393
18.1 XML和HTML 393
18.1.1 XML的产生 393
18.1.2 XML与HTML的比较 394
18.2 XML的编辑工具 395
18.3 创建XML文档 395
18.3.1 XML的声明 396
18.3.2 文档类型的声明 396
18.3.3 元素 397
18.3.4 注释 398
18.3.5 处理指令 398
18.3.6 空白处理 398
18.3.7 行尾处理 399
18.3.8 语言标识 399
18.3.9 一个简单的有关XML的实例 399
18.4 关于XML的高级知识 400
18.4.1 什么才是格式良好的XML文档 400
18.4.2 DTD文档的作用 401
18.4.3 DTD的结构 401
18.4.4 几个有关DTD的简单实例 403
18.5 关于XML文档的操作 405
18.5.1 下载Dom4J组件 405
18.5.2 配置Dom4J组件 406
18.5.3 Dom4J组件的简单使用——解析XML文件 406
18.5.4 Dom4J组件的简单使用——创建XML文件 409
18.6 关于XML文档的高级操作 411
18.6.1 下载Sax类库 411
18.6.2 配置Sax组件 412
18.6.3 Sax组件的简单使用——解析XML文件 412
18.7 常见疑难解答 415
18.7.1 XML与HTML的区别 415
18.7.2 XML有哪些显示数据的方式 415
18.8 小结 416
18.9 习题 416
第19章 开发工具的使用 417
19.1 Eclipse简介 417
19.1.1 下载并安装Eclipse 418
19.1.2 Eclipse界面介绍 419
19.2 如何使用Eclipse进行开发 422
19.2.1 如何新建一个Java工程 422
19.2.2 如何新建一个Java类 424
19.2.3 编写代码 425
19.3 如何使用MyEclipse进行开发 426
19.3.1 下载并安装MyEclipse 427
19.3.2 关于MyEclipse的一些常用操作 428
19.4 常见疑难解答 431
19.4.1 Eclipse和UltraEdit两个开发工具的优缺点 431
19.4.2 什么是IDE环境 431
19.4.3 有关Eclipse的编译报错的原因 431
19.5 小结 431
19.6 习题 432
第20章 Swing组件与布局管理器 433
20.1 什么是Swing编程 433
20.2 MVC设计模式基础 433
20.3 简单框架设计及实例 434
20.3.1 创建一个空白的框架 434
20.3.2 创建框架的其他工作 435
20.4 简单图形按钮控件的设计及实例 436
20.4.1 Swing中的按钮控件 436
20.4.2 按钮的模型 437
20.4.3 添加普通按钮 437
20.4.4 添加单选按钮 438
20.4.5 添加复选框 440
20.4.6 ToggleButton按钮 441
20.5 简单文本输入组件的设计及实例 442
20.5.1 文本域 442
20.5.2 密码域 443
20.5.3 文本区域 444
20.6 展示类组件的设计及实例 445
20.6.1 标签组件 445
20.6.2 选择组件 446
20.6.3 菜单组件 447
20.6.4 对话框的种类及用法 448
20.7 复杂布局管理器的种类及用法 449
20.7.1 箱式布局的设计 450
20.7.2 网格组布局的设计 452
20.7.3 流布局的设计 452
20.7.4 边界布局的设计 454
20.8 通过实例熟悉Swing编程 455
20.9 常见疑难解答 457
20.9.1 如何处理菜单的启用和禁用功能 457
20.9.2 如何编写快捷键的程序 458
20.10 小结 458
20.11 习题 458
第21章 JDBC及其应用 459
21.1 数据库基础知识 459
21.1.1 什么是数据库 459
21.1.2 数据库的分类及功能 460
21.1.3 关系数据库的设计 460
21.1.4 数据库设计技巧 461
21.2 JDBC的基础概念 462
21.2.1 JDBC驱动程序的分类 462
21.2.2 利用Java到数据库协议方式连接Oracle数据库 463
21.2.3 利用Java到本地API方式连接Oracle数据库 464
21.3 关于SQL Server数据库基础操作 466
21.3.1 什么是支持SQL语言的数据库 466
21.3.2 通过SQL语言如何操作数据库 467
21.3.3 安装SQL Server 468
21.3.4 高级SQL类型 469
21.3.5 使用SQL创建数据库 470
21.4 关于JDBC的高级操作 477
21.4.1 什么是事务处理 477
21.4.2 事务处理的过程演练 477
21.4.3 预查询 480
21.4.4 使用JDBC的注意事项 480
21.5 常见疑难解答 481
21.5.1 操作数据库的具体步骤是什么 481
21.5.2 数据库中的视图、图表、缺省值、规则、触发器、存储过程的意义 482
21.6 小结 482
21.7 习题 482
第22章 网络编程基础 484
22.1 网络基础知识 484
22.2 TCP/IP协议和UDP协议 484
22.2.1 IP协议和IP地址 485
22.2.2 TCP协议和端口 487
22.2.3 客户端/服务器通信模型 487
22.2.4 UDP协议 488
22.3 端口与套接字 489
22.4 TCP程序设计基础 489
22.4.1 如何设计TCP程序 490
22.4.2 一个简单的例子 492
22.5 UDP程序设计基础 493
22.5.1 如何设计UDP程序 493
22.5.2 一个简单的例子 493
22.6 如何设计网络程序 494
22.6.1 单向通信综合实例 495
22.6.2 双向通信综合实例 497
22.7 常见疑难解答 500
22.7.1 TCP和UDP的区别 500
22.7.2 什么是TCP/IP协议,分为几层,什么功能 501
22.8 小结 502
22.9 习题 502
第四篇 Java语言程序设计实例与面试题剖析
第23章 学校管理系统 503
23.1 开发背景 503
23.2 需求分析 503
23.3 登录界面的设计 504
23.3.1 登录界面的分析 504
23.3.2 登录界面的代码实现 504
23.3.3 登录界面的运行 506
23.4 主菜单界面的设计 507
23.4.1 主菜单界面的分析 507
23.4.2 主菜单界面的代码实现 507
23.4.3 主菜单界面的运行 515
23.5 数据库系统的设计 516
23.5.1 数据库中表的创建 516
23.5.2 数据库中的代码段 519
23.6 学生信息系统界面的设计 520
23.6.1 学生类的设计 520
23.6.2 存储类的设计 521
23.6.3 学生信息系统界面的代码实现 523
23.7 教师信息系统界面的设计 531
23.7.1 教师类的设计 531
23.7.2 存储类的设计 533
23.7.3 教师信息系统界面的代码实现 535
23.8 领导信息系统界面的设计 543
23.8.1 领导类的设计 543
23.8.2 存储类的设计 544
23.8.3 领导信息系统界面的代码实现 545
23.9 小结 553
第24章 面试题 554
面试题1 Java的引用和C++的指针有什么区别 554
面试题2 类和对象有什么区别 555
面试题3 说明private、protected、public和default的区别 556
面试题4 Java可以用非0来代表true吗 557
面试题5 StringBuffer和StringBuilder存在的作用是什么 557
面试题6 二维数组的长度是否固定 558
面试题7 符合什么条件的数据集合可以使用foreach循环 559
面试题8 如何序列化和反序列化一个Java对象 560
面试题9 如何使用Java的线程池 561
面试题10 如何利用反射实例化一个类 561
面试题11 TCP协议的通信特点是什么 561
面试题12 请简述JDBC操作数据库的编程步骤 561
面试题13 如何使用连接池技术 561
面试题14 简述接口和抽象类的区别 562
面试题15 如何理解Java中的装箱和拆箱 562
面试题16 根据代码判断创建的对象个数 563
面试题17 分析循环程序的运行结果 563
面试题18 可以返回最大值的方法 564
面试题19 关于垃圾回收的疑问 564
面试题20 线程问题:找出代码中的错误 565
面试题21 关于ArrayList、Vector、LinkedList的问答题 565
面试题22 Java中的异常处理机制的简单原理和应用 566
面试题23 列举一些常用的类、包、接口,请各列举5个 566
面试题24 Java 中,DOM 和 SAX 解析器有什么不同 566
面试题25 线程的sleep()方法和yield()方法有什么区别 566

教学资源推荐
作者: 刘振安 刘燕君 唐军 编著
作者: (美)Y. Daniel Liang 著 阿姆斯特朗亚特兰大州立大学
作者: (美)Al Kelley Ira Pohl
作者: [美] 托尼·加迪斯(Tony Gaddis) 著
参考读物推荐
作者: 陈雷 等编著 内封:陈雷 黄桃 李长林 李志 王坤 肖涛 朱栋 编著
作者: [美]马克·赫克勒(Mark Heckler) 著
作者: 陶国荣 著
作者: Andrew Koenig;Barbara E. Moo