-
第一章Java开发环境和语言基础
本章,我们从三个方面介绍Java开发语言,首先我们介绍Java语言的历史、平台和特点;接着我们介绍Java语言开发环境并演示Java语言开发环境的搭建,最后在搭建的Eclipse环境下编写第一个“HelloWorld”程序。
-
●1.1Java简介及搭建Java开发环境
Java是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台的总称。Java语言是一种可以撰写跨平台应用软件的面向对象的程序设计语言, Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。
-
●1.2编写第一个Java程序
编写第一个Java程序
-
第二章Java语法基础
java语法基础
-
●2.1数据类型
Java中的数据类型包含基本数据类型和引用数据类型。
-
●2.2关键字、标识符、常量
在Java中,对各种变量、方法和类等要素命名时使用的字符序列称为标识符;Java的关键字是被Java语言赋予了特殊含义,用作专门用途的字符串,它的特点是所有关键字字母都为小写;常量是指在程序的整个运行过程中值保持不变的量。
-
●2.3变量
变量
-
●2.4运算符
运算符是一种特殊的符号,用来计算数据的符号。数据可以是常量,也可以是变量。被运算符操作的数我们称为操作数。在Java语法中,常用的运算符有算术运算符、赋值运算符、关系运算符、逻辑运算符、位运算符、移位运算符和三元运算符。
-
●2.5表达式
在Java语言中,表达式是由变量、常量与运算符的组合,与运算符作用的变量或常量称为操作数。在一些复杂的运算中,简单的表达式可以组合为复杂的表达式,其操作数本身可能就是一个表达式。表达式的计算结果必须是一个值,如果表达式是一个条件,就会产生逻辑值结果,即真或假。在其他情况下,值通常为计算的结果。
-
第三章程序控制
根据程序执行的流程不同,程序的基本结构分为3种:顺序结构,就是从上到下逐行执行每条语句;选择结构,就是根据不同的条件,执行不同的语句;循环结构,就是重复执行某些语句。
-
●3.1选择语句
选择语句(if, switch)
-
●3.2循环语句
循环语句( while, do- while和for)
-
●3.3流程控制习题
流程控制习题
-
第四章数组
计算机程序等于算法+数据结构,之前我们所学习的程序中,用if语句实现的条件结构和用while, do-while、for语句实现的循环结构,解决的是程序的逻辑问题,即算法问题,那么程序中还应该有要操作的数据,而计算机存储,组织数据的方式即数据结构。数据结构就是把数据按照某种特定的结构来保存,设计合理的数据结构是解决问题的前提,数组是编程语言最常见的一种数据结构,可用于存储多个数据,每个数组元素匀存放一个数据。
-
●4.1一维数组
本节介绍了数组的定义,初始化,访问,使用和排序。
-
●4.2二维数组
二维数组是指数组的嵌套,即数组的数组。一个数组的数组元素类型既可以是基本类型,也可以是引用类型。其中引用类型就包括数组类型。当一个数组的数组元素类型本身是数组类型时,就形成了二维数组。
-
●4.3数组习题
数组习题
-
第五章类和对象
类和对象
-
●5.1面向对象
面向对象它是一种思考问题的方式,这是一种编程思想。而面向对象的编程思想是以对象的抽象为导向,也就是说将现实生活中的万事万物都抽象为一个具体的一个程序当中的对象。Java程序设计就是采用面向对象的编程思想。
-
●5.2构造方法
Java中每个类都有构造方法,它是类中的一种特殊方法,它的作用就是用于完成对象的创建。当类实例化一个对象时,类会自动调用构造方法。
-
●5.3面向对象的方法
面向对象的方法
-
第六章继承和多态
继承和多态
-
●6.1继承
继承是面向对象程序设计的基本原则之一,顾名思义,继承就是将父亲的东西继承过来,在程序中,如果一个类B具有类A的全部属性和方法,而且又具有自己特有的某些属性和方法,那么我们可以说B类继承了A类。我们把A类称为一般类,把B类称为特殊类,这种一般与特殊的结构我们可以用继承关系表达和实现。我们也可把一般类称为父类,把特殊类称为子类。
-
●6.2多态
在OOP中,多态性是指一个程序中同名的不同方法共存的情况。这些方法同名的原因是它们的最终功能和目的都相同,但是由于在完成同一功能时,可能遇到不同的具体情况,所以需要定义包含不同内容的方法,来代表多种具体实现形式。 多态的存在是类之间继承关系的必然结果,正是因为继承关系,使得两个类之间有了一种比较亲密的关系:父与子的关系。多态的概念,通俗讲,就是系统自动识别当前对象的类型(子类还是父类),并访问其相应的属性或方法。
-
●6.3static和final关键字
Java中类的属性和方法又可称之为类的成员,是指类中的变量和方法,根据这些成员是否使用了static修饰符,可以将其分为类成员(或静态成员)和实例成员。用static修饰的变量叫做静态变量(也可称为类属性),用static修饰的方法叫静态方法(也可称为类方法)。静态成员属于这个类而不属于这个类的某个对象,它由这个类所创建的所有对象所共有,实例成员由其所对应的对象所独有。使用关键字final修饰的类称为final类,该类不能被继承,即不能有子类。所以final修饰的类也称其为最终类。有时为了程序的安全考虑,可以将一些重要的类声明为final类。系统中的System类和String类都是final类。其语法结构就是在普通类的语法结构定义前加final修饰。
-
第七章抽象类、内部类与接口
抽象类、内部类与接口
-
●7.1抽象类
在大多数情况下,Java的类是可以被其他类继承的,也可以被直接实例化使用。但有一种类是专门用来做父类的,自身也不能实例化,这样的类称为抽象类。抽象类有点类似于“模板”的作用,目的是根据其格式来创建和修改新的类,对象不能由抽象类直接创建,只可以通过抽象类派生出新的子类,再由其子类来创建对象。当一个类被声明为抽象类时,要在这个类前面加上修饰符abstract,在抽象类中的成员方法可以包括一般方法和抽象方法。包含了抽象方法的类一律称为抽象类,一个抽象类可以存在一个或多个抽象方法。抽象方法是只定义了方法的声明但不包含具体实现的方法。
-
●7.2接口
接口(interface)是OOP中又一重要的概念,也是Java中实现数据抽象的重要途径。本质上接口即一系列的行为规范,它只说明类应该做什么,但并不关心如何做。
-
●7.3内部类
内部类就是在类的内容又嵌套了一个类。外层的类叫做外部类,内层的类叫做内部类。每一个内部类都是一个独立的类,编译完后的.class文件名以“外部类类名$内部类类名.class”的形式出现。
-
第八章常用类
在实际开发中,经常会用到字符串,Java中定义了String、String buffer,String builder三个类来封装字符串,并提供了一系列操作字符串的方法。
-
●8.1String字符串
String类是不可更改的,String类中的有些方法也会对字符串进行更改操作,但这些方法的调用都会产生一个新的字符串作为处理结果,而不会对原来的字符串做任何修改,String类类的方法侧重于字符串的比较,字符的定位,字符提取等查询操作方法。
-
●8.2StringBuffer类和StringBuilder类
String是不能改变的,如果要改变一个String类型的变量的值,会创建出新的对象,StringBuffer和StringBuilder是类似于String的缓冲区,通过它可以对字符串进行修改而不会创建许多对象。StringBuffer类和String一样,也代表字符串,用于描述可变序列,因此,StringBuffer在操作字符串时,不生成新的对象,在内存使用上要优于String类,在StringBuffer类中存在很多和String类一样的方法,这些方法在功能完全一样,接下来我们学习一下它不同于String类的一些常用方法。
-
●8.3Object类
Object类是所有类的父类,如果某个类没有明确的父类,会默认继承Object类,可以使用Object类型指向任意类型的对象,在Object类中有一个无参数的构造方法,在构造一个子类实例时都会默认先调用该构造方法。
-
●8.4Java中的日期类
Java中的日期类
-
●8.5包装类
Java的包装类 在我们讨论其他变量类型之间的相互转换时,我们需要了解一下Java的包装类,所谓包装类,就是能够直接将简单类型的变量表示为一个类,在执行变量类型的相互转换时,我们会大量使用这些包装类。Java共有六个包装类,分别是Boolean、Character、Integer、Long、Float和Double,从字面上我们就能够看出他们分别对应于 boolean、char、int、long、float和double。而String和Date本身就是类。所以也就不存在什么包装类的概念了。
-
第九章集合框架
Java集合框架是Java语言的重要组成部分,它包含了系统而完整的集合层次体系,封装了大量的数据结构的实现。深刻理解Java集合框架的组成结构及其中的实现类和算法,能极大提高程序员的编码能力和解决实际问题的能力。
-
●9.1集合框架概述
集合框架是为表示和操作集合而规定的一种统一的标准的体系结构。任何集合框架都包含三大块内容:对外的接口、接口的实现和对集合运算的算法。
-
●9.2Collection集合
Collection接口是集合层次的根接口。他的子接口有List和Set等。
-
●9.3Iterator迭代器
迭代器(Iterator)的概念,出于Java的一种设计模式。Collection不提供get()方法。如果要遍历Collectin中的元素,就必须用Iterator。
-
●9.4Set集合
Set集合类包含Set接口和Set接口的实现类。Set集合是一个不包含重复元素的 collection集合,模仿了数学中“集合”的概念,因此数学集合概念的一些特征就体现在了Set集合上。Set集合中不能包含重复的元素。更确切地讲,就是不能包含满足 e1.equals(e2) 条件的元素e1 和 e2。Set集合中判读两个元素是否相等,一般不使用==运算符,而使用元素的equals方法。Set集合中最多允许包含一个 null 元素。Set接口继承了Collection接口。比Collection接口更加具体,但并没有增加自己特有的方法。Set接口常用的实现类有HashSet,TreeSet等。
-
●9.5List集合
List集合又称为List列表。List集合类包含List接口和List接口的实现类。List接口继承了Collection接口,所以List接口拥有Collection接口提供的所有常用方法。List集合是有序的Collection集合,即List集合中的元素是有序的,可重复的。List集合中的每个元素都有其对应的顺序索引。即每个元素都对应一个整数型的序号记载其在集合中的位置,可以根据序号存取集合中的元素。List集合的常用实现类有ArrayList、LinkedList、Vector等。
-
●9.6Map集合
Map集合与Collection集合是并列存在。Map用于保存具有映射关系的数据:关键字/值。有时我们把它称为键/值对。所以Map集合又称为映射。一个映射不能包含重复的键;每个键最多只能映射到一个值。即键key 和 值value 之间存在单向一对一关系,即通过指定的键key 总能找到唯一的、确定的值 value。Map 中的键key和值value 都可以是任何引用类型的数据。Map 中的键key 用Set集合来存放,不允许重复。Map允许以键集、值集或键-值映射关系集的形式查看某个映射的内容。Map接口的常用实现类有HashMap和Hashtable。
-
●9.7泛型
Java的参数化类型,被称为泛型。这种参数类型可以用在类、接口、方法的创建中,分别被称为泛型类,泛型接口和泛型方法。
-
第十章异常处理
在Java中,异常会输出一个错误消息,并终止线程的执行。为了更好的处理异常情况,程序员通常会在程序中定义异常处理段来捕获和处理异常。 如果不能很好地处理异常,则项目的稳定性就不强,所以为了增强项目的稳健性,就要求在出现异常时进行相关处理,即异常处理。
-
●10.1异常概述
在程序的设计过程中我们经常会遇到程序出错的情况,程序的错误通常分为两类:一类是编译错误,另一类是运行错误。
-
●10.2使用try和catch捕获异常
在处理异常的过程中,我们通过try…catch结构来实现异常的处理。在try结构中我们放入可能会发生异常的代码段,在放入代码段时,不建议将所有的代码都放入try结构中,我们只讲最可能出现错误的代码段放入该结构中。在catch结构中我们用来捕获异常,catch关键字的后面括号中我们要描述异常的类型,当程序捕捉到该类型的异常时,就会执行其后面大括号中的处理程序,对异常进行处理。
-
●10.3使用throw和throws引发异常
如果想在程序中明确地引发异常,则需要用到throw或throws语句。抛出异常有两种方式(1)throw语句用来明确的抛出一个异常(2)如果一个方法可以引发异常,而它本身并不对该异常进行处理,那么该方法必须将这个异常抛给调用从而使程序能够继续执行下去。这时就用到了throws.