零基础学Java 第4版 常建功著 高清文字版PDF下载

转载至:  https://download.csdn.net/download/kxjrzyk/10959857

下载链接:  点我一键跳转到 下载链接

下载声明:  本资料仅供个人学习和研究使用,不能用于商业用途,请在下载后24小时内删除。如果喜欢,请购买正版!

本书一共分为四篇,共25章,循序渐进地讲述了Java语言的语法规则,Eclipse和MyEclipse开发环境的使用,从基本概念到具体实践、从入门知识到高阶主题、从语法语义到数据结构和算法都进行了详细的阐述,主要包括运算符、表达式、分支语句、循环语句、函数、数组、字符串、类、对象、包、继承、多态、封装、枚举、反射、标注、泛型、类加载器、动态代理、多线程、文件的操作和访问、数据的操作、数据的存储、Java数据结构、XML文件的创建和解析、数据库的连接、网络编程和界面的设计等知识点。

QQ20191014-180630.jpg

前言
第一篇Java语言语法基础--面向过程知识
第1章Java技术概览
1.1Java技术
1.1.1认识Java语言
1.1.2认识Java平台
1.1.3Java语言的功能
1.1.4Java语言的优点
1.1.5Java分布式应用和多线程的特点
1.1.6Java程序的可靠性、安全性
1.1.7Java小程序和应用程序
1.2Windows下的"HelloWorld"应用程序
1.2.1创建应用程序的软件环境
1.2.2创建"HelloWorld"应用程序的步骤
1.3深入探讨"HelloWorld"应用程序
1.3.1注释源代码
1.3.2实现类定义
1.3.3详解main()方法
1.4常见疑难解答
1.4.1环境变量设置错误
1.4.2语法错误
1.4.3语义错误
1.4.4运行时错误
1.4.5初学者如何选择Java参考书
1.5小结
1.6习题
第2章Java开发工具及环境设置
2.1Java开发工具简介
2.1.1下载并安装JDK
2.1.2设定环境变量
2.1.3验证JDK环境是否配置成功
2.2JDK内置工具
2.2.1JDK常用工具
2.2.2JDK常用工具的使用实例
2.2.3Java应用程序的发布工具
2.3一个简单的Java应用程序
2.4一个简单的JavaApplet应用程序
2.4.1编写一个JavaApplet
2.4.2编写承载JavaApplet的HTML文件
2.4.3JavaApplet运行过程
2.5Java程序员的编码规则
2.6常见疑难解答
2.6.1Java文件扩展名是否区分大小写
2.6.2Javacxxx.java顺利通过,但Javaxxx显示"NoClassDefFoundError"
2.6.3导致错误"Exceptioninthreadmainjava.lang.NoSuchMethodError:main"的原因
2.7小结
2.8习题
第3章Java语言中的数据类型与运算符
3.1数制
3.1.1基本概念
3.1.2Java语言中的数制表现形式
3.2数据类型
3.2.1整型
3.2.2字符型
3.2.3浮点型
3.2.4布尔型
3.3变量
3.3.1变量的声明
3.3.2变量的含义
3.3.3变量的分类
3.4变量如何初始化
3.5常量
3.6运算符
3.6.1算术运算符
3.6.2关系运算符
3.6.3逻辑运算符
3.6.4位运算符
3.6.5移位运算符
3.6.6赋值运算符
3.6.7三元运算符
3.6.8逗号运算符
3.6.9转型运算符
3.6.10运算符的优先级别
3.7常见疑难解答
3.7.1如何将十进制转换成二进制
3.7.2转型运算符会引起精度问题,为什么还要使用它
3.8小结
3.9习题
第4章程序设计中的流程控制
4.1编程风格
4.2条件语句
4.2.1简单条件语句
4.2.2最简单的条件语句
4.2.3适应多条件的条件语句
4.2.4嵌套条件语句
4.2.5如何使用条件语句
4.3循环语句
4.3.1for循环语句
4.3.2while循环
4.3.3do…while语句
4.4中断与继续语句
4.4.1中断控制语句
4.4.2继续语句
4.5分支语句
4.6返回语句
4.7常见疑难解答
4.7.1普通循环是使用for语句还是while语句
4.7.2一般的程序可否用分支语句来代替条件语句
4.8小结
4.9习题
第二篇Java语言语法进阶--面向对象知识
第5章数组
5.1数组概念的引入
5.1.1实例的引入
5.1.2数组的概念
5.1.3用实例说明数组的用处
5.2基本数据类型的数组
5.2.1基本类型数组的声明
5.2.2基本类型数组的初始化
5.3由实例引出不同数组种类及其使用
5.3.1认识一维数组
5.3.2由实例引出一维数组及其使用
5.3.3由实例引出二维数组及其使用
5.4多维数组
5.4.1多维数组的声明
5.4.2初始化多维数组
5.4.3使用多维数组
5.5数组的综合实例
5.6常见疑难解答
5.6.1声明数组需要注意什么
5.6.2数组在平时的程序代码中使用是否频繁
5.7小结
5.8习题
第6章字符串的处理
6.1认识字符串
6.1.1代码中的字符串
6.1.2String类和StringBuffer类的比较
6.2字符串处理的类库种类
6.2.1字符串的赋值
6.2.2字符串处理类--String
6.2.3字符串处理的方法
6.2.4缓冲字符串处理类--StringBuffer
6.2.5缓冲字符串StringBuffer类的构造器
6.2.6缓冲字符串的处理
6.2.7缓冲字符串类的特点
6.3用实例演示如何处理字符串
6.4如何格式化输出字符串
6.5常见疑难解答
6.5.1equals和"=="的区别
6.5.2String类为何被定义成final约束
6.5.3char类型如何转换成int类型,int类型如何转换成字符串
6.6小结
6.7习题
第7章类和对象
7.1面向对象开发中的类
7.1.1在Java中类的定义
7.1.2Java中的类与现实世界的类
7.2万事万物皆对象
7.2.1什么是对象
7.2.2操作对象
7.2.3初始化对象
7.2.4对象的成员方法
7.2.5对象的成员变量
7.3对象中访问控制符的重要性
7.3.1什么是访问控制符
7.3.2如何使用访问控制符及其重要性
7.4Java中的基础类
7.4.1Java的数学运算处理类Math
7.4.2测试时间和日期的类Date
7.4.3测试日历的类GregorianCalendar
7.4.4日历处理的实例解析
7.5用实例分析设计一个类的流程
7.5.1如何在现实程序设计中提取一个类
7.5.2设置器和访问器
7.5.3总结
7.6常见疑难解答
7.6.1类在程序语言中起到了什么作用
7.6.2设置器和访问器的作用
7.7小结
7.8习题
第8章重载和包
8.1重载
8.1.1什么是重载
8.1.2用实例来说明重载的意义
8.2包
8.2.1什么是Java中的包
8.2.2如何实现包
8.2.3什么是类路径和默认包
8.2.4包的作用域
8.2.5静态导入
8.3包的注释及嵌入文档
8.3.1如何添加注释
8.3.2类、方法、字段等注释的方法
8.4常见疑难解答
8.4.1包在实际编程中究竟有什么作用
8.4.2一个文件中定义了两个class类是否生成一个.class文件
8.5小结
8.6习题
第9章继承和多态
9.1什么是继承
9.1.1继承的引出
9.1.2继承的概念
9.1.3如何实现继承
9.1.4如何设计继承
9.2构造函数的使用
9.2.1什么是构造函数
9.2.2继承中构造函数的初始化
9.2.3替代父类和本身的方式
9.2.4Java中的单继承性
9.3继承中的覆盖现象
9.4类之间的关系
9.4.1依赖
9.4.2聚合
9.4.3继承
9.5继承层次图
9.6多态
9.6.1多态的产生
9.6.2多态的概念
9.6.3使用多态编写程序
9.6.4覆盖的应用
9.6.5重载与覆盖的实例对比
9.6.6覆盖的多态性
9.6.7传值引用和传址引用
9.7通过实例熟悉多态用法
9.8绑定
9.8.1静态绑定
9.8.2动态绑定
9.9超类
9.9.1什么是超类
9.9.2equals方法的使用
9.9.3通用编程
9.10常见疑难解答
9.10.1Java不支持多继承,如何处理一个类继承多个父类的情况
9.10.2如果出现了带参数的构造函数,可否不在代码中写出来
9.10.3动态和静态编译是什么
9.10.4绑定与多态的联系是什么
9.10.5多态与重载的区别是什么
9.11小结
9.12习题
第10章接口与内部类
10.1接口
10.1.1接口概念的引入
10.1.2接口的声明
10.1.3接口的实现
10.1.4接口的多重实现
10.1.5接口的属性
10.1.6接口的继承
10.2内部类
10.2.1使用内部类来访问对象
10.2.2局部内部类
10.2.3静态内部类
10.2.4匿名内部类
10.3常见疑难解答
10.3.1匿名类如何在程序中使用
10.3.2接口与继承有什么区别
10.4小结
10.5习题
第11章抽象和封装
11.1抽象的概念
11.1.1什么是抽象
11.1.2抽象的综合实例
11.2抽象类
11.2.1什么是抽象类
11.2.2抽象类的实例
11.3抽象与接口的区别
11.4枚举
11.4.1关于枚举的实现原理
11.4.2枚举的简单应用
11.4.3关于枚举的高级特性
11.5反射
11.5.1关于反射的基石--Class类
11.5.2关于反射的基本应用
11.5.3关于反射的高级应用
11.6标注
11.6.1标注的简单使用
11.6.2关于JDK的内置标注
11.7泛型
11.7.1为什么要使用泛型
11.7.2关于泛型的一些特性
11.7.3关于泛型的通配符
11.8类加载器
11.8.1什么是类加载器
11.8.2什么是类加载器的委派模型
11.9动态代理
11.9.1什么是代理
11.9.2关于动态代理基础类
11.9.3关于InvocationHandler接口
11.9.4动态代理类的设计模式
11.10封装的概念
11.10.1一个封装的例子
11.10.2在程序设计中为什么要使用封装
11.10.3在程序设计中设计封装的注意点
11.11结合实例讲述如何设计封装
11.12常见疑难解答
11.12.1抽象类和接口在概念上有什么区别
11.12.2如何从设计理念上看待抽象类和接口
11.12.3封装在现实开发中给程序员带来什么启发
11.12.4封装在实际开发中的应用有哪些
11.13小结
11.14习题
第三篇Java语言编程主题
第12章线程
12.1线程的基本概念
12.1.1进程及其使用环境
12.1.2线程及其使用环境
12.2线程的创建
12.2.1如何创建线程
12.2.2通过实例熟悉如何创建线程
12.2.3线程的状态
12.3线程的使用
12.3.1线程的优先级
12.3.2线程的休眠与唤醒
12.3.3线程让步
12.3.4线程同步
12.3.5同步块
12.3.6同步化方法
12.4实例分析
12.4.1生产者与消费者的程序设计及分析
12.4.2多消费者的程序设计及分析
12.4.3多生产者的程序设计及分析
12.5常见疑难解答
12.5.1Java中线程与线程之间怎么通信
12.5.2什么是进程的死锁和饥饿
12.5.3什么时候会涉及线程程序
12.5.4多线程的死锁问题
12.5.5多线程的缺点
12.6小结
12.7习题
第13章异常的处理与内存的管理
13.1异常的概念
13.1.1异常的分类
13.1.2异常的声明
13.1.3异常的抛出throw
13.2异常的捕获
13.2.1捕获多个异常
13.2.2自定义异常
13.2.3运行期异常
13.2.4执行finally子句
13.2.5finally子句的必要性
13.3内存的管理和回收
13.4常见疑难解答
13.4.1为什么要声明方法抛出异常
13.4.2为什么抛出的异常一定是检查异常
13.5小结
13.6习题
第14章Java输入与输出
14.1输入与输出的重要性
14.2Java重要的输入输出类
14.3文件或目录信息的处理
14.3.1File类常用的操作方法
14.3.2文件处理方法的应用
14.3.3文件和目录的操作
14.4读取数据的媒介之一--流
14.4.1什么是流
14.4.2什么是输入流和输出流
14.4.3字节输入流及输出流
14.4.4使用文件字节输入流读取文件
14.4.5使用文件字节输出流输出文件
14.5多字节数据读取类--Filter类
14.5.1Filter流的概念
14.5.2处理字节类型以外的文件输入
14.5.3处理字节类型以外的文件输出
14.5.4增强的多字节输出流DataOutput
14.5.5增强的多字节输入流DataInput
14.6读取数据的媒介之二--字符流
14.6.1字符流的概念
14.6.2抽象字符输入流Reader类的使用
14.6.3抽象字符输出流Writer类的使用
14.6.4读取带缓存的BufferedReader字符流
14.6.5带缓存的字符输出流BufferedWriter类
14.6.6字符输入流FileReader类和FileWriter类的使用
14.6.7如何用标准输入流System.in来获取数据
14.6.8打印输入流PrintWriter类与PrintStream类的区别
14.6.9随机文件访问RandomAccessFile类
14.7利用对象序列化控制输入输出
14.7.1什么是对象序列化
14.7.2基本数据和对象数据读写ObjectInput接口与ObjectOutput接口
14.7.3对象序列化处理ObjectOutputStream类
14.7.4对象序列化处理ObjectInputStream类
14.8常见疑难解答
14.8.1字节流与字符流的主要区别
14.8.2输入流与输出流如何区分,各有什么作用
14.8.3什么是管道流
14.9小结
14.10习题
第15章Java中对数据的处理
15.1如何将基本数据类型转换为对象
15.1.1为什么要将基本数据转换为对象
15.1.2Wrapper类的构造函数
15.1.3包装类的常用函数
15.1.4基本数据的拆装箱操作
15.2如何处理随机性的数据
15.2.1Random类的基础知识
15.2.2通过实例熟悉Random类的常用方法
15.3如何对数据进行排列、整理
15.3.1Arrays类的常用方法
15.3.2实例分析
15.4常见疑难解答
15.4.1Random类函数在现实生活中有什么用处
15.4.2数组的排列和整理数据在实际应用中有什么用处
15.5小结
15.6习题
第16章数据结构接口
16.1数据结构接口及实现
16.1.1数据结构接口的实质
16.1.2用实例来熟悉数据结构接口的实现
16.2Collection集合接口与Iterator迭代器接口
16.2.1熟悉Collection集合接口
16.2.2List接口和Set接口
16.2.3Map映射接口
16.2.4Iterator迭代器接口
16.2.5通过实例来认识迭代器的实现
16.3常见疑难解答
16.3.1Collection集合接口和Collections集合类的区别
16.3.2ArrayList数组列表类和Vector存储类的区别
16.3.3HashMap散列映射和Hashtable散列表的区别
16.3.4数据结构的种类有哪些
16.3.5List接口和Set接口的区别
16.4小结
16.5习题
第17章Java中的数据结构
17.1链表
17.1.1什么是Java中的链表
17.1.2用程序代码段实现对链表的添加
17.1.3用程序代码段实现对链表的删除
17.2数组列表类
17.2.1什么是数组列表类
17.2.2通过实例熟悉数组列表如何存储数据
17.3散列表
17.3.1什么是散列表
17.3.2通过实例熟悉散列表如何存储数据
17.4散列集
17.4.1什么是散列集
17.4.2通过实例熟悉散列集如何存储数据
17.5树集
17.5.1什么是树集
17.5.2通过实例熟悉树集如何存储数据
17.6映像
17.6.1什么是映像
17.6.2通过实例熟悉映像如何存储数据
17.7常见疑难解答
17.7.1哪些是线程安全的数据结构
17.7.2Vector是什么样的数据结构
17.8小结
17.9习题
第18章XML基础
18.1XML和HTML
18.1.1XML的产生
18.1.2XML与HTML的比较
18.2XML的编辑工具
18.3创建XML文档
18.3.1XML的声明
18.3.2文档类型的声明
18.3.3元素
18.3.4注释
18.3.5处理指令
18.3.6空白处理
18.3.7行尾处理
18.3.8语言标识
18.3.9一个简单的有关XML的实例
18.4关于XML的高级知识
18.4.1什么才是格式良好的XML文档
18.4.2DTD文档的作用
18.4.3DTD的结构
18.4.4几个有关DTD的简单实例
18.5关于XML文档的操作
18.5.1下载Dom4J组件
18.5.2安装和配置Dom4J组件
18.5.3Dom4J组件的简单使用--解析XML文件
18.5.4Dom4J组件的简单使用--创建XML文件
18.6关于XML文档的高级操作
18.6.1下载Sax类库
18.6.2安装和配置Sax组件
18.6.3Sax组件的简单使用--解析XML文件
18.7常见疑难解答
18.7.1XML与HTML的区别
18.7.2XML有哪些显示数据的方式
18.8小结
18.9习题
第19章开发工具的使用
19.1Eclipse简介
19.1.1下载并安装Eclipse
19.1.2Eclipse界面介绍
19.2如何使用Eclipse进行开发
19.2.1如何新建一个Java工程
19.2.2如何新建一个Java类
19.2.3编写代码
19.3如何使用MyEclipse进行开发
19.3.1下载并安装MyEclipse
19.3.2关于MyEclipse的一些常用操作
19.4常见疑难解答
19.4.1Eclipse和UltraEdit两个开发工具的优缺点
19.4.2什么是IDE环境
19.4.3有关Eclipse的编译报错的原因
19.5小结
19.6习题
第20章Swing组件与布局管理器
20.1什么是Swing编程
20.2MVC设计模式基础
20.3简单框架设计及实例
20.3.1创建一个空白的框架
20.3.2创建框架的其他工作
20.4简单图形按钮控件的设计及实例
20.4.1Swing中的按钮控件
20.4.2按钮的模型
20.4.3添加普通按钮
20.4.4添加单选按钮
20.4.5添加复选框
20.4.6ToggleButton按钮
20.5简单文本输入组件的设计及实例
20.5.1文本域
20.5.2密码域
20.5.3文本区域
20.6展示类组件的设计及实例
20.6.1标签组件
20.6.2选择组件
20.6.3菜单组件
20.6.4对话框的种类及用法
20.7复杂布局管理器的种类及用法
20.7.1箱式布局的设计
20.7.2网格组布局的设计
20.7.3流布局的设计
20.7.4边界布局的设计
20.8通过实例熟悉Swing编程
20.9常见疑难解答
20.9.1如何处理菜单的启用和禁用功能
20.9.2如何编写快捷键的程序
20.10小结
20.11习题
第21章JDBC及其应用
21.1数据库基础知识
21.1.1什么是数据库
21.1.2数据库的分类及功能
21.1.3关系数据库的设计
21.1.4数据库设计技巧
21.2JDBC的基础概念
21.2.1JDBC驱动程序的分类
21.2.2利用Java到数据库协议方式连接数据库
21.2.3利用Java到本地API方式连接数据库
21.2.4利用JDBC-ODBC方式连接数据库
21.3关于SQLServer数据库基础操作
21.3.1什么是支持SQL语言的数据库
21.3.2通过SQL语言如何操作数据库
21.3.3安装SQLServer
21.3.4高级SQL类型
21.3.5使用SQL创建数据库
21.4JDBC基本编程
21.4.1如何建立数据库
21.4.2如何操作数据库
21.4.3加载合适的数据库驱动程序
21.5关于JDBC的高级操作
21.5.1什么是事务处理
21.5.2事务处理的过程演练
21.5.3预查询
21.5.4使用JDBC的注意事项
21.6常见疑难解答
21.6.1操作数据库的具体步骤是什么
21.6.2数据库中的视图、图表、缺省值、规则、触发器、存储过程的意义
21.7小结
21.8习题
第22章Applet设计
22.1Applet的基本概念及生命周期
22.2Applet的多媒体处理
22.2.1声音处理
22.2.2图像处理
22.3浏览器与Applet的设计
22.3.1如何将Applet嵌入浏览器
22.3.2如何使用Applet类编程
22.3.3如何用Applet控制浏览器
22.4Applet的安全
22.5一个Applet的综合实例分析
22.6常见疑难解答
22.6.1浏览器如何运行Applet
22.6.2有关Applet无法在IE中显示问题的解答
22.7小结
22.8习题
第23章网络编程基础
23.1网络基础知识
23.2TCP/IP协议和UDP协议
23.2.1IP协议和IP地址
23.2.2TCP协议和端口
23.2.3客户端/服务器通信模型
23.2.4UDP协议
23.3端口与套接字
23.4TCP程序设计基础
23.4.1如何设计TCP程序
23.4.2一个简单的例子
23.5UDP程序设计基础
23.5.1如何设计UDP程序
23.5.2一个简单的例子
23.6如何设计网络程序
23.6.1单向通信综合实例
23.6.2双向通信综合实例
23.7常见疑难解答
23.7.1TCP和UDP的区别
23.7.2什么是TCP/IP协议,分为几层,什么功能
23.8小结
23.9习题
第四篇Java语言程序设计实例与面试题剖析
第24章学校管理系统
24.1开发背景
24.2需求分析
24.3登录界面的设计
24.3.1登录界面的分析
24.3.2登录界面的代码实现
24.3.3登录界面的运行
24.4主菜单界面的设计
24.4.1主菜单界面的分析
24.4.2主菜单界面的代码实现
24.4.3主菜单界面的运行
24.5数据库系统的设计
24.5.1数据库中表的创建
24.5.2数据库中的代码段
24.6学生信息系统界面的设计
24.6.1学生类的设计
24.6.2存储类的设计
24.6.3学生信息系统界面的代码实现
24.7教师信息系统界面的设计
24.7.1教师类的设计
24.7.2存储类的设计
24.7.3教师信息系统界面的代码实现
24.8领导信息系统界面的设计
24.8.1领导类的设计
24.8.2存储类的设计
24.8.3领导信息系统界面的代码实现
24.9小结
第25章面试题
面试题1Java的引用和C++的指针有什么区别
面试题2类和对象有什么区别
面试题3说明private、protected、public和default的区别
面试题4Java可以用非0来代表true吗
面试题5StringBuffer和StringBuilder存在的作用是什么
面试题6二维数组的长度是否固定
面试题7符合什么条件的数据集合可以使用foreach循环
面试题8如何序列化和反序列化一个Java对象
面试题9如何使用Java的线程池
面试题10如何利用反射实例化一个类
面试题11TCP协议的通信特点是什么
面试题12请简述JDBC操作数据库的编程步骤
面试题13如何使用连接池技术
面试题14简述接口和抽象类的区别
面试题15如何理解Java中的装箱和拆箱
面试题16根据代码判断创建的对象个数
面试题17分析循环程序的运行结果
面试题18可以返回最大值的方法
面试题19关于垃圾回收的疑问
面试题20线程问题:找出代码中的错误
面试题21关于ArrayList、Vector、LinkedList的问答题

打赏 支付宝打赏 微信打赏

如果文章对您有帮助,欢迎移至上方打赏按钮...

下载链接
公众号
Java菜市场,专注于技术干货分享,资源下载

[打开微信]->[扫描二维码]->[关注《Letter》]
发送“927”,获取下载地址。
原力推-知识付费平台
原力推-知识付费平台
官网:https://yuanlitui.com
你可以把创造的任何有趣/有价值的内容变成付费版
出售给有需要的人,把洞察转化为价值

现在成为创作者免服务费
随手一点
  • 打酱油

    20人

  • 83人

  • 呵呵

    3人

  • 草泥马

    3人

文章评论 抢沙发