第一篇Java技术入门第0章 Java技术概述10.1 Java技术10.1.1 Java编程语言10.1.2 Java语言平台20.1.3 Java语言的功能20.1.4 Java语言的优点30.2 Windows下的“HelloWorld”应用程序30.2.1 创建应用程序的软件环境30.2.2 创建“HelloWorld”应用程序的步骤40.3 深入探讨“HelloWorld”应用程序60.3.1 注释源代码6...
Java完全自学手册的作品目录
写给自学编程的人员前言第一篇Java技术入门第0章 Java技术概述10.1 Java技术10.1.1 Java编程语言10.1.2 Java语言平台20.1.3 Java语言的功能20.1.4 Java语言的优点30.2 Windows下的“HelloWorld”应用程序30.2.1 创建应用程序的软件环境30.2.2 创建“HelloWorld”应用程序的步骤40.3 深入探讨“HelloWorld”应用程序60.3.1 注释源代码60.3.2 实现类定义60.3.3 详解main()方法70.4 常见编译错误70.4.1 环境变量设置错误70.4.2 语法错误70.4.3 语义错误80.4.4 运行时错误80.5 本章习题9第1章 Java开发工具及环境设置101.1 Java开发工具简介101.2 如何下载并安装JDK101.3 JDK内置工具101.3.1 JDK常用工具111.3.2 JDK常用工具示例111.3.3 应用程序发布工具(jar)121.4 jar文件的创建与查看131.4.1 创建jar文件131.4.2 查看jar文件的内容151.4.3 提取jar文件的内容161.4.4 更新jar文件171.4.5 运行打包的jar软件191.5 JDK环境设置201.6 一个简单的Java应用程序211.7 一个简单的JavaApplet应用程序221.7.1 编写一个Applet231.7.2 编写一个用来调用AppletJava程序的HTML文件231.7.3 Applet的运行过程231.8 注释及内嵌式文档241.9 本章习题25第2章 Java语言基础262.1 Java命名规则262.2 数据类型262.2.1 基本数据类型262.2.2 引用数据类型292.3 数据类型转换302.3.1 隐式数据类型转换302.3.2 显式数据类型转换302.4 变量与常量312.4.1 变量312.4.2 常量312.5 Java运算符322.5.1 数学运算符322.5.2 关系运算符332.5.3 逻辑运算符342.5.4 位运算符342.5.5 位移运算符352.5.6 “?:”运算符352.5.7 运算符的优先顺序362.6 本章习题36第3章 程序流程控制383.1 流程控制概述383.2 条件语句383.3 分支语句393.3.1 简单的if-else语句393.3.2 if-else多分支语句403.3.3 if嵌套语句403.3.4 switch语句413.3.5 分支语句中的return423.4 循环语句423.4.1 while循环语句423.4.2 do-while循环语句433.4.3 for循环语句443.5 跳转语句453.5.1 break跳转语句453.5.2 continue跳转语句453.6 本章习题46第4章 数组484.1 一维数组484.1.1 定义一维数组484.1.2 初始化一维数组484.1.3 使用一维数组494.2 二维数组504.2.1 定义二维数组504.2.2 初始化二维数组514.2.3 使用二维数组514.3 多维数组524.3.1 定义多维数组524.3.2 初始化多维数组534.3.3 使用多维数组544.4 数组操作554.4.1 数组的复制554.4.2 数组的填充554.4.3 数组的比较564.4.4 数组的排序574.4.5 数组的查找584.5 本章习题60第5章 字符串操作615.1 字符串615.1.1 字符串分类615.1.2 声明字符串615.1.3 创建字符串615.2 字符串操作625.2.1 字符串连接635.2.2 比较字符串635.2.3 获取字符串长度635.2.4 复制字符串635.2.5 获得子串645.2.6 获取指定位置的字符645.2.7 更改大小写655.2.8 分割字符串655.2.9 更改字符串中的部分字符655.3 格式化字符串665.3.1 一般类型格式化665.3.2 日期和时间类型格式665.4 本章习题67第6章 容器类简介686.1 容器简介686.1.1 容器框架686.1.2 Java容器框架的优势与劣势706.2 容器接口的分类716.2.1 Collection接口定义与应用716.2.2 Map接口定义与应用736.3 集合容器—Set756.3.1 Set接口定义与应用756.3.2 Set实现776.4 列表容器—List816.4.1 List接口定义与应用816.4.2 List实现836.4.3 使用List实现堆栈和队列846.5 Map容器866.5.1 Map实现866.5.2 正确认识hashCode方法896.6 迭代器916.6.1 迭代器接口926.6.2 迭代器的使用926.7 本章习题94第二篇 面向对象技术第7章 面向对象技术导论7.1 万事万物皆对象957.1.1 程序设计中的抽象化认识957.1.2 如何获得和操控对象967.1.3 对象的存储空间967.1.4 对象的生存空间987.2 一种新的数据类型:类(Class)987.2.1 类(Class)概述987.2.2 类的属性详解997.2.3 类的方法详解1007.2.4 一种特殊的方法—类的构造函数1017.2.5 关键字static1027.2.6 关键字this1047.3 访问权限1067.3.1 包(package)1067.3.2 设置Java访问权限1077.4 继承1107.4.1 什么是继承1107.4.2 如何实现继承1107.4.3 super关键字1127.5 多态1137.5.1 什么是多态1137.5.2 方法的重载1147.5.3 抽象类和抽象函数1167.6 接口1187.6.1 接口定义1187.6.2 接口和抽象类1197.6.3 接口的使用1197.7 本章习题122第8章 对象的初始化和清理1238.1 构造函数1238.1.1 默认构造函数1248.1.2 自定义构造函数1248.2 函数的重载1258.3 数据成员的初始化1268.4 static成员的初始化1288.5 对象的清理1328.6 本章习题132第三篇 Java编程提高篇第9章 多线程编程1339.1 线程概述1339.2 创建线程1349.2.1 继承Thread类创建线程1349.2.2 实现Runnable接口创建线程1359.3 线程的状态1369.4 线程的优先级1389.5 线程的同步1399.5.1 Java程序的资源共享1399.5.2 synchronized关键字1419.5.3 同步控制方法1429.5.4 同步控制块1449.6 线程的控制1459.6.1 启动线程1459.6.2 挂起和恢复线程1469.6.3 线程的休眠1469.6.4 等待和通知1479.6.5 结束线程1499.7 线程间通信1509.7.1 PipedWriter类详解1509.7.2 PipedReader类详解1509.7.3 管道通信实例1519.8 多线程的死锁问题1539.9 多线程的缺点1539.10 本章习题154第10章 JDBC链接数据库15510.1 JDBC简介15510.1.1 什么是JDBC15510.1.2 JDBC的目标15510.1.3 JDBC如何实现数据库的平台无关性15510.2 JDBC中的常用类和接口15610.2.1 驱动程序管理类(DriverManager)15610.2.2 声明类(Statement)15610.2.3 数据库链接类(Connection)15710.2.4 结果集合类(ResultSet)15710.3 如何实现数据库的链接15810.3.1 加载合适的数据库驱动程序15810.3.2 数据库配置问题15810.3.3 建立数据库链接并获得Statement对象15910.3.4 执行数据库查询语句16010.3.5 获得查询结果16010.3.6 关闭数据库链接16010.3.7 完整的示例程序16010.4 数据库基本操作16210.4.1 创建数据库表16210.4.2 查询数据16210.4.3 添加数据16310.4.4 更改数据16310.4.5 删除数据16310.5 本章习题164第11章 Java异常处理16511.1 理解异常16511.2 异常示例16511.3 Java异常处理16711.3.1 try区块16711.3.2 catch区块16811.3.3 Java异常规范17111.4 Throwable类及其子类17111.4.1 Throwable类定义和方法17211.4.2 异常类的继承关系17411.4.3 异常重抛的例子17411.5 运行期异常17711.6 自定义异常17811.7 finally子句18211.7.1 执行finally子句18211.7.2 finally子句的必要性18411.8 异常的几个问题18511.8.1 异常丢失18511.8.2 构造函数中的异常处理18711.8.3 异常匹配18811.9 异常的优点18911.9.1 分离异常处理代码19011.9.2 按方法调用顺序向上传播错误19111.9.3 分组并区分错误类型19311.10 本章习题194第12章 I/O处理19712.1 流(Stream)的概念19712.2 字符流19712.2.1 输入流类InputStream19712.2.2 输出流类OutputStream19812.3 字节流19912.3.1 Writer类19912.3.2 Reader类20012.4 File类20112.4.1 创建文件夹(目录)20112.4.2 创建文件20212.4.3 复制文件20312.4.4 删除文件20412.4.5 删除文件夹20512.5 I/O流的典型运用20712.5.1 文件流20712.5.2 读取内存数据20812.5.3 链接文件20912.5.4 管道流21012.5.5 随机访问文件21112.5.6 从标准输入读取21212.5.7 I/O重定向21212.5.8 过滤流21312.5.9 序列化对象21412.6 本章习题216第13章 Swing编程21813.1 Swing容器21813.1.1 JFrame容器21813.1.2 JPanel容器21913.2 Swing的事件模型22113.2.1 制作一个按钮22113.2.2 实现按钮的事件监听22213.2.3 Swing的事件模型22313.3 Swing组件22413.3.1 按钮22513.3.2 图示(Icons)22513.3.3 文本22713.3.4 工具提示22813.3.5 单选按钮22813.3.6 复选框22913.3.7 组合框23013.3.8 列表框23213.3.9 消息框23413.3.10 菜单23913.3.11 页签式面板24213.3.12 弹出式菜单24313.3.13 工具条24413.3.14 进度条24613.3.15 对话框24713.3.16 文件对话框24813.3.17 边框25113.3.18 表模型25213.3.19 树模型25513.4 控制面板布局管理器26113.4.1 流布局管理器26113.4.2 边界布局管理器26213.4.3 网格布局管理器26413.4.4 盒子布局管理器26613.5 本章习题267第四篇 Java分布式计算技术第14章 Java网络编程26914.1 TCP/IP26914.1.1 IP协议和IP地址26914.1.2 TCP和端口27114.1.3 客户/服务器通信模型27214.2 UDP27214.3 基于Java的客户/服务器程序27314.3.1 Socket及其原语27314.3.2 创建服务器27414.3.3 创建客户端27514.4 Socket类详解27814.4.1 创建Socket27814.4.2 Socket类的getXX()方法28014.4.3 Socket类的setXX()方法28214.4.4 关闭Socket28614.5 SocketServer类28714.5.1 创建SocketServer28714.5.2 SocketServer类的两个重要方法28814.5.3 读取SockerServer信息28914.6 数据报通信29014.6.1 数据报通信简介29114.6.2 DatagramPacket类简介29114.6.3 DatagramSocket类简介29314.6.4 实现数据报通信29614.7 本章习题298第15章 RMI技术29915.1 如何实现RMI程序29915.1.1 定义远端接口29915.1.2 定义远端对象30015.1.3 实现服务器对象的Stub和Sckeleton30015.1.4 创建服务器程序30115.1.5 创建客户端程序30215.1.6 运行RMI程序30315.2 RMI的动态加载类30515.3 RMI的特点30515.4 本章习题306第16章 JSP技术30716.1 JSP技术概述30716.1.1 JSP的基本概念30716.1.2 JSP的运行原理30816.2 构建JSP运行、开发环境30816.2.1 JRE的安装30916.2.2 Tomcat的安装31016.2.3 开发工具的选择31216.2.4 建立和保存JSP文件31216.3 JSP编程基础31416.3.1 HTML标记31416.3.2 HTML表单31616.4 JSP基本语法32116.4.1 声明(Declaration)32116.4.2 表达式(Expression)32116.4.3 脚本(Scriptlet)32216.4.4 注释(Annotations)32216.4.5 指令(Directive)32316.4.6 动作(Action)32316.5 JSP指令32316.5.1 Page指令32316.5.2 Include指令32516.6 JSP动作32616.6.1 jsp:include动作32616.6.2 jsp:useBean动作32716.6.3 jsp:setProperty动作32716.6.4 jsp:getProperty动作32816.6.5 jsp:forward动作32916.6.6 jsp:plugin动作32916.7 JSP内部对象33116.7.1 request对象33216.7.2 response对象33416.7.3 pageContext对象33516.7.4 session对象33516.7.5 application对象33816.7.6 out对象33916.7.7 config对象33916.7.8 page对象34016.7.9 exception对象34016.7.10 内部对象的作用范围34016.8 本章习题341第17章 JavaBean技术34317.1 JavaBean技术概述34317.2 JavaBean编写规范34317.2.1 Bean组件的工作机制34417.2.2 JavaBean的编写要求34417.2.3 JavaBean的命名规范34417.2.4 JavaBean的包34417.2.5 JavaBean的结构34517.3 JavaBean属性34517.3.1 单值(Simple)属性34617.3.2 索引(Indexed)属性34617.3.3 关联(Bound)属性34717.3.4 约束(Constrained)属性34817.4 JavaBean方法35017.4.1 构造方法35017.4.2 访问方法35017.4.3 一般方法35117.5 JavaBean事件35117.5.1 事件模型35217.5.2 事件状态对象35217.5.3 事件监听者接口与事件监听者35317.5.4 事件监听者注册与注销35317.5.5 适配类35417.6 JavaBean在JSP中的应用35517.6.1 调用JavaBean35517.6.2 链接数据库Bean35617.6.3 通过JavaBean查询数据库35717.6.4 向数据库添加记录35917.6.5 修改数据库记录36117.6.6 删除数据库记录36217.7 本章习题364第18章 Servlet技术36718.1 Servlet概述36718.1.1 Servlet的特点36718.1.2 Servlet的应用范围36718.1.3 Servlet与JSP的关系36818.2 Servlet的基本架构36818.2.1 Servlet工作原理36818.2.2 Servlet接口36918.2.3 典型Servlet程序36918.3 ServletAPI37018.3.1 Servlet方法37018.3.2 常用的ServletAPI37118.3.3 Servlet生命周期37218.4 Servlet开发37318.4.1 Servlet的基本代码37318.4.2 Servlet与表单交互37418.4.3 Servlet控制会话37618.5 本章习题378第19章 Java与XML技术38119.1 标记语言的发展史38119.2 HTML语言及其局限38119.2.1 HTML语言38119.2.2 HTML语言的局限性38119.3 XML语言38319.3.1 XML的优势38319.3.2 XML文档的基础知识38519.3.3 XML文档结构38919.4 创建XML文档39019.4.1 创建元素39019.4.2 创建空元素39119.4.3 元素属性39219.4.4 注释39219.4.5 实体39319.5 XML与Java39319.5.1 XML与Java结合理由39419.5.2 Java如何解析XML文档39419.6 DOM解析XML文档39519.6.1 DOM(文档对象模型)39519.6.2 DOM的结构及接口39619.6.3 DOM实现与核心API39619.6.4 基于DOM的树操作39619.7 本章习题399第五篇 Java编程实例篇第20章 Java编程实例40320.1 系统设计40320.2 系统目标40320.2.1 文件操作用例40420.2.2 话单操作用例40420.2.3 话单维护用例40420.3 系统功能40420.3.1 文件操作功能40520.3.2 话单维护功能40520.3.3 话单操作功能40520.3.4 系统维护功能40520.4 业务流程40520.4.1 文件操作流程40520.4.2 话单维护流程40620.4.3 话单操作流程40620.5 软件模块设计40620.5.1 主界面模块40620.5.2 文件操作模块41020.5.3 话单操作模块41520.5.4 话单维护模块42420.6 软件打包发行42820.7 数据库配置431……
2016-05-28