《Java程序设计完全学习手册》共分为20章。从最基础的概念开始,依次介绍了Java的发展历史和特点、如何构建Java开发运行环境、Java变量的使用方式、流程控制语句的使用、算法的使用、面向对象程序设计、继承的应用、接口的定义和声明、内部类的概念、异常和日志的使用、Java字符串的常见操作、Java集合的概念、Java线程、I/O操作、反射的使用、Java垃圾回收的原理和网络编程、Java Swing界面编程、数据库编程、XML编程等,并在最后通过日历和考试系统两个实例对前面的知识进行了总结。
《Java程序设计完全学习手册》非常适合作为Java学习的入门使用,是初学者学习Java不可多得的一本实用手册,同时也可以作为各类院校及培训机构的培训教材。
Java是由Sun公司于1995年5月推出的一种面向对象的语言。Java是安全的、面向对象的,它提供了诸多安全保障机制,从而使得比其他语言更加安全。Java从根本上改变了网络应用程序的开发和使用方式,并成为在许多应用领域特别是Internet网络应用领域最受欢迎的开发与编程语言。本书基础部分不仅讲解了Java的相关知识,而且还讲解了Java开发工具MyEclipse的使用。
本书是在基于实际开发的基础上进行讲解的,知识点更加透彻、条理更加清楚。本书使用的开发工具为MyEclipse 8.5和JDK 6,并且每章内容致力于将实际开发过程中遇到的知识点和注意事项进行深入的探究。
本书共分为19章。从最基础的概念开始,依次介绍了Java应用程序所依赖的开发环境、常用算法解析、字符串日期操作、文件流的使用、界面编程、JDBC的使用、XML编程等。其中第1~17章是理论知识讲解,第18~19章是项目开发。各章的具体内容如下。
第1章:主要介绍了Java 的发展历史和特点,如何构建Java开发运行环境;以及如何编辑、编译和执行Java程序。
第2章:讲解了Java变量的使用方式,以及在编程中最常见的程序流程控制语句。
第3章:讲解了常用算法的简单描述,以及for循环和if语句的具体实现。
第4章:讲解了Java关于面向对象的知识,这是Java的核心思想,读者必须掌握的部分。
第5章:继承的应用,读者必须掌握继承,通过继承了解子类和父类的关系。
第6章:接口的定义和声明,以及接口和抽象类的区别。
第7章:内部类的概念,通过学习内部类,读者要掌握这种写法的优越性。
第8章:异常和日志的使用,这是优化Java编码的部分,建议读者掌握。
第9章:Java字符串的常见操作,这是最基础的部分,建议读者掌握。
第10章:Java集合的概念,集合是完全取代与数组的,并且操作非常方便,建议读者掌握。
第11章:Java线程,本章难点比较多,读者只需了解即可。
第12章:I/O操作,通过I/O可以对文件以及流进行读写,建议读者掌握。
第13章:反射的使用,通过反射如何求出类的属性、方法等,建议读者了解。
第14章:介绍了Java垃圾回收的原理和网络编程,建议读者了解。
第15章:Java Swing界面编程,本章内容较多,建议读者了解。
第16章:数据库编程,这部分内容比较重要,建议读者掌握。
第17章:XML编程,XML和数据库一样都是用来保存数据的,建议读者掌握。
第18~19章:这两章分别讲解了日历和考试系统,通过学习这些内容,进一步巩固前面讲述的理论知识。
本书对理论知识的讲解都是基于实际项目,这样避免了泛泛而谈的空洞内容,部分实例也是采自真实项目中的代码,在讲解代码的过程中为了方便读者理解,将运行结果截图展示给读者观看,相关代码加入了注释,方便读者理解和模仿编程。另外书中的代码都已加入配书光盘中,以便读者更加深入地学习每一个知识点。
本书由王作启、伍正云主编。刘文元、张丽、任海峰、胡文华、尚峰、蒋燕燕、张阳、李凤云、李晓楠、李祥、唐龙、王雪丽、张旭、曹培培等人也参与了本书部分内容的编写工作,在些表示感谢。此外,还要特别感谢徐州技师学院给予的大力支持。当然,尽管我们在本书的创作过程中力求完美、精益求精,但仍难免有不足和疏漏之处,恳请广大读者予以指正。
第1章 Java基础
1.1 Java诞生记
1.2 Java家族成员的介绍
1.3 Java平台的特点
1.4 JDK的安装与配置
1.4.1 JDK的安装
1.4.2 给JDK配置环境变量
1.4.3 JDK编译和运行命令
1.5 用开发工具武装Java
1.5.1 MyEclipse的安装
1.5.2 Java的定制装备Netbeans
1.5.3 第一个Java程序
1.6 综合实例
1.7 本章小结
1.8 上机练习
第2章 Java开场白
2.1 认识 Java程序
2.1.1 理解main()为何物
2.1.2 Java代码的组织习惯
2.2 认识变量
2.2.1 变量的声明
2.2.2 命名要规范
2.2.3 八种基本类型变量
2.2.4 变量的范围
2.2.5 注释
2.3 认识常量
2.4 数据的类型
2.4.1 类型的转换
2.4.2 引用类型
2.5 Java关键字
2.6 标识符命名
2.7 转义字符有讲究
2.8 Java运算符
2.8.1 算术运算符
2.8.2 赋值运算符
2.8.3 关系运算符
2.8.4 逻辑运算符
2.8.5 位运算符
2.8.6 其他运算符
2.8.7 运算符号之优先级
2.9 程序流程控制
2.9.1 顺序结构
2.9.2 选择结构
2.9.3 循环结构
2.10 数组也是类型
2.10.1 一维数组
2.10.2 二维数组
2.10.3 多维数组
2.11 综合实例
2.12 本章小结
2.13 上机练习
第3章 这些算法很有用
3.1 比较值
3.1.1 最大值
3.1.2 最小值
3.1.3 平均值
3.2 数字排序
3.2.1 算法——冒泡排序
3.2.2 选择排序
3.2.3 插入排序
3.2.4 快速排序
3.3 查找
3.3.1 顺序查找
3.3.2 二分查找
3.4 Java工具类中算法的实现
3.5 综合实例
3.6 本章小结
3.7 上机练习
第4章 Java的面向对象程序设计
4.1 面向对象的设计思想
4.2 说说“类”
4.2.1 类的概念
4.2.2 封装的概念
4.2.3 类的创建
4.2.4 对象的创建和使用
4.3 Java中的方法
4.3.1 Java程序执行过程分析
4.3.2 方法的分类
4.3.3 构造方法
4.3.4 自定义方法
4.3.5 方法重载
4.3.6 方法的调用
4.3.7 方法参数及其传递问题
4.3.8 方法递归
4.4 类的属性
4.4.1 属性
4.4.2 this关键字
4.4.3 变量的作用域和生存期
4.5 此“包”不是LV
4.5.1 取个不会重复的包名
4.5.2 用包导入类型
4.5.3 包名也有规范
4.6 使用枚举
4.7 综合实例
4.8 本章小结
4.9 上机练习
第5章 类的继承和多态
5.1 Java中的继承
5.1.1 Object类及其方法
5.1.2 对象中的克隆
5.1.3 Java的继承
5.1.4 super关键字
5.2 多态变化
5.2.1 Java中多态的实现
5.2.2 类型检测——向上转型/向下转型
5.2.3 动态绑定
5.3 Static关键字
5.3.1 静态变量
5.3.2 静态方法
5.3.3 静态代码块
5.4 Final关键字
5.4.1 Final属性
5.4.2 Final方法
5.4.3 Final类
5.5 Abstract关键字
5.5.1 抽象类
5.5.2 抽象方法
5.6 综合实例
5.7 本章小结
5.8 上机练习
第6章 接口浅议
6.1 一个简单接口的例子
6.2 接口的声明
6.3 使用接口
6.3.1 接口的使用
6.3.2 Java接口的特征归纳
6.4 接口也可以继承
6.5 标记接口
6.6 综合实例
6.7 本章小结
6.8 上机练习
第7章 内部类、对象包装及装箱拆箱
7.1 内部类
7.1.1 内部类简介
7.1.2 成员内部类
7.1.3 局部内部类
7.1.4 静态内部类
7.1.5 匿名内部类
7.2 对象的包装
7.2.1 对象包装器类介绍
7.2.2 包装器类的使用
7.2.3 字符串,包装类,原始数据与类间转换
7.3 装箱和拆箱
7.3.1 装箱
7.3.2 拆箱
7.4 综合实例
7.5 本章小结
7.6 上机练习
第8章 程序的异常
8.1 异常声明,捕获和处理
8.1.1 异常机制概述
8.1.2 在Java中如何进行异常处理
8.2 用Log4J记录异常日志信息
8.2.1 什么是日志
8.2.2 如何使用log4j记录日志
8.3 综合实例
8.4 本章小结
8.5 上机练习
第9章 最频繁的操作类型——字符串和日期
9.1 String
9.1.1 字符串的不变性
9.1.2 StringBuffer类的使用
9.1.3 StringBuilder类的使用
9.2 字符串的编码
9.3 正则表达式
9.3.1 正则表达式概述
9.3.2 正则表达式在Java中的应用
9.4 日期类
9.5 日期计算
9.6 日期的格式化
9.6.1 SimpleDateFormat类的使用
9.6.2 DateFormat类的使用
9.7 综合实例
9.8 本章小结
9.9 上机练习
第10章 集合
10.1 Java集合
10.1.1 集合与数组区别
10.1.2 集合包结构
10.2 容器类
10.2.1 Collection接口
10.2.2 Comparable/comparable接口
10.2.3 增强for循环
10.2.4 Iterator接口
10.2.5 Map接口
10.3 容器选择原则
10.4 综合实例
10.5 本章小结
10.6 上机练习
第11章 让你一心二用——线程机制
11.1 线程简介和Java实现
11.1.1 了解线程和进程的概念
11.1.2 主线程
11.1.3 线程的创建和启动
11.2 线程组
11.3 线程状态
11.3.1 线程状态
11.3.2 线程状态转换
11.3.3 让线程间通信
11.3.4 小心死锁
11.3.5 常用的线程集合类
11.3.6 守护线程
11.4 综合实例
11.5 本章小结
11.6 上机练习
第12章 用I/O进行数据处理
12.1 文件
12.1.1 文件操作
12.1.2 目录管理
12.2 流和流的分类
12.2.1 字节流和字符流
12.2.2 过滤(处理)流
12.2.3 内存操作流
12.2.4 缓冲流
12.2.5 Scanner类
12.2.6 对象序列化与反序列化
12.2.7 打印流
12.2.8 RandomAccessFile随机访问文件
12.3 综合实例
12.4 本章小结
12.5 上机练习
第13章 神奇的反射与注解
13.1 反射概念
13.1.1 Class类
13.1.2 用反射获取类的属性
13.1.3 用反射获取类的方法
13.1.4 用反射获得构造方法
13.1.5 反射操作数组
13.2 注解
13.2.1 什么是注解
13.2.2 Java常用注解
13.2.3 自定义注解
13.3 综合实例
13.4 本章小结
13.5 上机练习
第14章 Java回收垃圾与网络编程
14.1 System.gc()请求垃圾回收
14.2 finalize()方法
14.3 Java网络编程之URL
14.3.1 URL是什么
14.3.2 URL的组成
14.3.3 创建URL
14.3.4 解析URL
14.4 Java网络编程之Socket编程
14.4.1 Sokect编程的一般步骤
14.4.2 Socket服务端编程
14.4.3 Socket客户端的编程
14.5 UDP编程
14.5.1 UDP编程Server端
14.5.2 UDP编程客户端
14.6 本章小结
14.7 上机练习
第15章 让界面炫起来
15.1 MyEclipse又见面了
15.1.1 MyEclipse试用
15.1.2 用MyEclipse运行代码及常用快捷键
15.2 AWT的应用
15.2.1 AWT组件和容器
15.2.2 布局管理器
15.3 Swing简介
15.3.1 Swing的类层次结构
15.3.2 Swing 容器与组件
15.3.3 事件驱动模型
15.3.4 匿名内部类在事件处理中的应用
15.3.5 JTextPane面板
15.3.6 菜单设计
15.3.7 运用各种对话框JOptionPane
15.3.8 运用JTable
15.3.9 运用JTree
15.4 QQ登录界面及部分功能实现
15.5 本章小结
15.6 上机练习
第16章 数据库技术很重要
16.1 选择MySQL
16.1.1 MySQL简介
16.1.2 MySQL的安装与配置
16.1.3 MySQL支持的SQL语法
16.2 用JDBC与数据库交互
16.2.1 JDBC简介
16.2.2 JDBC驱动程序原理
16.3 Java与MySQL数据库的连接
16.4 查询数据和结果集
16.5 更新删除数据
16.6 PreparedStatement对象的使用
16.7 事务小议
16.8 连接池简介
16.9 简单仓库管理系统实现
16.9.1 数据库设计
16.9.2 界面设计
16.9.3 数据库操作
16.10 本章小结
16.11 上机练习
第17章 XML技术的应用
17.1 XML开场白
17.1.1 XML的作用
17.1.2 XML的书写
17.2 用Java处理XML
17.2.1 Jaxp Dom解析XML
17.2.2 Jaxp SAX解析
17.2.3 使用Dom4J解析XML
17.3 本章小结
17.4 上机练习
第18章 自己也能设计万年历
18.1 日历基本功能分析
18.2 界面设计
18.3 逻辑模块设计
18.4 本章小结
第19章 简易考试系统
19.1 系统功能简介
19.2 系统架构设计
19.3 用户登录模块
19.3.1 用户表创建
19.3.2 公共类访问数据库(DBUtil)
19.3.3 用户业务层(UserService)
19.3.4 登录界面
19.4 主界面模块
19.5 考试界面模块
19.5.1 解析试卷
19.5.2 考试界面
19.6 本章小结