以下为《《Java语言程序设计》期末复习提纲__v2.0》的无排版文字预览,完整内容请下载
《Java语言程序设计》期末复习提纲 v2.0
2020-12
第1章 绪论
1、Java语言的创始人是James Gosling.Java语言于1995年正式推出。
2、 Java语言的特点(PPT和课本)
3、 JDK环境配置(PPT和课本):
path=%path%;C:\jdk1.6.0_27\bin
classpath= .;C:\jdk1.6.0_27\lib
4. Java程序的基本开发步骤:编辑、编译和运行, 主要由什么JDK工具完成,能举例说明。(java.exe, javac.exe等)
5.了解Java的三种平台的特点:Java SE、Java EE和Java ME(PPT)
6.Java源程序结构特点、文件名命名要求
?Java大小写敏感
?如果源文件中有多个类,那么只能有一个类是public类
?如果有一个类是public类,那么源文件的名字必须与这个类的名字完全相同;若没有public类,那么文件名只需要和某个类的名字相同即可
7.了解jar文件:是Java程序的一种分发形式。(PPT第三章)
第2章 结构化程序设计
(一)标识符、关键字和数据类型
1. Java词法(见PPT):UNICODE字符集、空格与分号、注释、标识符、关键字等;
/** JDK的javadoc工具用这种注释信息能自动从程序中抽出类的公共接口形成文档。
…
*/
2. Java标识符:命名规则、书写约定
3.Java字符集采用的是Unicode字符集,它的特点是:每个字符占2个字节,取值范围是0~65535。
4.Java的关键字,不是关键字的有delete,新增加的关键字有instanceof transient synchronized volatile throw throws等
5. 基本数据类型的定义与使用(PPT或课本);
6. java的数据类型有基本数据类型和引用数据类型两种。引用类型有数组、类、接口、枚举
7.基本数据类型有8种。整数类型范围与占用位数(P29)。
(二)运算符、表达式和语句
1.Java常用运算符(P34)、理解优先级与结合性(PPT),表达式
算术运算符(+,-,*,/,%,++,--):理解/,%,++,--的含义
关系运算符(>,=,>,>,&,|,^,~):理解位运算符的实际运算过程
赋值运算符(=,及其扩展赋值运算符如+=)
条件运算符( ?:)
其它 (包括分量运算符 ·,下标运算符 [],实例运算符 instanceof,内存分配运算符new,强制类型转换运算符 (类型),方法调用运算符 () 等)
2、基本数据类型转换
一种类型的值赋给另外类型的一个变量时,将涉及数据类型的转换数据类型的转换有自动转换和强制转换两种形式。
(1)自动类型转换
如果下列两个条件都能满足,那么将一种类型的数据赋给另外一种类型变量时,将执行自动类型转换。这两个条件分别是:
这两种类型是兼容的;
目标数据类型的取值范围比来源数据类型的取值范围要大。
(2)强制类型转换
当两种类型彼此不兼容,或者目标类型的取值范围小于源类型,自动转换无法进行,这时就需要进行强制类型转换。
表达式中类型的自动提升:
Java语言规定了若干适用于表达式的类型提升规则(“向高某某”):
1/ 所有的byte型和short型的值被提升到 int型
2/ 如果一个操作数是long型,整个表达式将被提升到long型
3/ 如果一个操作数是float型,整个表达式将被提升到float型
4/ 如果有一个操作数是double型,计算结果就是double型
2. 语句格式与执行逻辑(如Switch、if、while等)
(1)分支语句:if-else, switch-case
switch后面括号中表达式的值必须是符合byte,char,short,int类型的常量表达式,而不能用浮点类型或long类型。
(2)循环语句:for, while, do-while
(3)例外处理语句:try-catch-finally, throw
(4)其他: break, continue, label: , return
第3章 面向对象程序设计(类、对象和接口)[重点全面理解]
1.理解面向对象的类的三个基本特性:封装性、继承性和多态性(课本P70);
2. 掌握类、域和方法的定义(课本和PPT)
2.1 类修饰符:包括public abstract final等,理解“无修饰词”的含义。P88
2.2 构造方法的概念与定义方法;
类的构造方法的3个特点。P65
构造函数重载(如果有this()语句则必须是其中的第一句)
变量和方法称为类的成员(成员变量和成员方法),而构造方法不是类的成员
每个类中至少有一个构造方法
定义类时如未定义构造方法,运行时系统会为该类自动定义缺省的构造方法
2.3成员变量的声明
(1)注意其修饰词的含义:访问控制、static、final (修饰词包含:public protected private static final transient volatile)
2.4成员方法的声明
(1)注意其修饰符的含义:访问控制、static、abstract、final
(2)理解传值调用与引用调用(PPT中的例子)
3.对象的声明、创建(实例化)与使用(new操作符,Java垃圾收集机制:PPT和课本例子p68~69中System.gc()和finialize()方法)
4.static关键字(类成员与实例成员)
(1)理解类变量与实例变量的区别与使用方法
实例变量对对象而言是独立的;类变量对对象而言是公用的。
(2)理解类方法与实例方法的区别与使用方法
实例方法只能由对象调用,并且可以操作类变量与实例变量;而类方法既可以由类调用又可以由对象调用,并且类方法只能对类变量进行操作。
5.super的三种用法P79
6.this关键字的含义与使用方法
this 是一个类的当前实例(对象)的引用。只能在实例方法定义内使用它。在类方法或用static 说明的方法中不能用this 。
7.理解包(package)(详见PPT)
(1)包的作用:包是一组相关的类或接口的集合, 它提供了访问保护和名字空间管理。Java编译器使用文件系统目录来保存包。
(2)包的创建与命名规则
(3)包的使用:import
(4)包中的源文件与类文件的管理(注意目录层次与包定义的对应关系,阅读PPT的例子)
8.重点理解访问控制级别
(1)成员变量和方法有4种访问级别:
public, protected, 默认(default,即没有访问控制修饰符,代表包范围可访问), private ;
? (2)类有两种访问级别:public 或default。
? (3)修饰符的作用范围(p87的表3.1):
Modifier Same class Same Package Subclass Universe
public Yes Yes Yes Yes
protected Yes Yes Yes
default Yes Yes
private Yes
(4)通过例子去理解(课本或PPT)
9.Java的继承机制:单继承机制,不支持多重继承,但可以通过接口来实现多重继承(即通过继承父类,再此基础上再实现某接口)
(1)子类继承父类的形式:extends。Java中,所有的类都是通过直接或间接地继承java.lang.Object得到的。
(2)子类的继承性
?子类能够继承什么?
?如果子类与父类在同一个包内:
?子类能够继承其父类中所有非private(即public、protected和default)的成员变量和成员方法
?如果子类与父类不在同一个包内:
?子类能够继承其父类中所有public和protected的成员变量和成员方法,但不能够继承其父类中的default和private成员变量和成员方法
?子类不能继承父类隐藏的成员变量和重写的父类方法
?子类不能继承父类中构造方法。因为构造方法不是类的成员
(3)成员变量的隐藏与方法的重写
1/ 成员变量的隐藏与方法重写的规则(详见PPT)
父类中同名变量不能被继承——即子类同名变量隐藏父类中的同名变量。
子类中定义的同父类完全相同的方法将隐藏父类中的方法——运行时多态性。
子类调用父类方法的方法(包括同名方法)——super.xxxYYY();
(4)方法的重载(overload,也称为静态多态性,静态多态性在编译时可以被系统识别)
在同一个类中名字相同但参数个数或类型不同的方法。返回值可以不同。
构造方法也可以重载。
(5)运行时多态(overwrite,即重写)
1/ 对子类的一个实例,如果子类重写了父类的方法,则运行时系统调用子类的方法,如果子类继承了父类的方法(未重写),则运行时系统调用父类的方法。
重写父类的方法时,不可以降低方法的访问权限;重写的方法和父类中被重写的方法要具有相同的名字,相同的参数表和相同的返回类型。
2/ 对象的上转型对象
对象的上转型对象的实体是子类负责创建的,但上转型对象会失去原对象的一些属性和功能。理解上转型对象的特点。 (PPT)
3/ 理解运行时多态的作用(课本或PPT的例子)
(6)final数据、方法和类
1/ final数据可以是编译时的常量,也可以是运行时才初始化的常量
2/ final 方法不能被重写
3/ final类不能被继承
(7)abstract类、abstract方法
1/ 抽象类不能实例化——创建对象。
2/ 抽象方法只允许声明,不允许实现。
3/ 抽象类中不一定要包含abstract方法,但是,一旦某个类中包含了abstract方法,则这个类必须声明为abstract类。
(8)通过例子理解类之间的is-a关系(“是一个”关系)和has-a关系(“有一个”关系)的含义。
Student和Person类对现实世界中,Student具有Person的全部行为这种关系进行了建模。我们称这种关系为“是一个”关系。只有在一个类和所提议的派生类之间存在“是一个”关系时,才应该使用继承。(阅读新教材:8.1.1 派生类)
如果两个提议的类之间不存在“是一个”关系,那么就不要用继承从一个类派生出另一个类。我们应该考虑在一个类的内部将另一个类的对象定义为实例变量。这种关系被称为“有一个”关系。
另一种方式称为“有一个”关系。例如,我们有一个记录日期的Date类,通过在Student类中添加Date类型的实例变量,就可以在Student类中添加录取日期。在这种情况下,我们称一个Student“有一个”Date 。(阅读新教材:编程窍门:“是一个”和“有一个”关系)
10.理解接口
(1)接口的概念:接口就是方法定义(没有方法的实现)和常量值的集合。
(2)接口的作用、接口与多重继承的区别
1/ 一个类仅仅继承接口中的常量。
2/ 一个类不能继承接口中的方法。
3/ 接口继承独立于类的继承。执行相同接口的类,不一定在类继承上相关。
4/ 接口也使用extends继承接口,但与类继承不同的是,接口继承时允许继承多个接口。
(3)接口的声明与定义(特征与使用规则,见PPT):
1/ 在接口中定义的常量具有public, final ,static的属性。
2/ 实现中不能缩小接口方法的访问类型:接口中的方法被默认是public的,所以类在实现接口方法时,一定要用pulbic来修饰.
接口中成员域都具有public,static和final属性(P95)
接口中成员方法都具有public 和 abstract属性 (P95)
(4)接口的使用
1/ 类声明使用接口的关键字:implements
2/ 使用接口的类体中可以使用接口中定义的常量
3/ 必须实现接口中定义的所有方法。
如果一个类声明一个接口,但没有实现接口中的所有方法,那么这个类必须是abstract类
4/ 在类中实现接口所定义的方法时,方法的声明必须与接口中所定义的完全一致。
5/ 接口的回调问题:Java运行时系统动态地确定该使用哪个类中的方法。(PPT中的例子)
11.匿名内部类的特点:匿名内部类不具有类名,不能具有抽象XX态属性,不能派生子类。匿名内部类必须继承一个父类或实现一个接口。(P100)
12.实现接口的匿名内部类与非匿名内部类的相互转换。
第4章 数组、字符串、向量与哈希表
1.数组的声明与创建(掌握一维和二维数组的声明与使用)
2.数组元素的构成特点(简单数据与构造类数据)
3.数组的操作:数组初始化与数组元素的赋值
4.String对象的定义方法与基本操作(长度、相等判断,课本与PPT)
掌握:length(),equals(),parseXXX(),subString(),indexOf(),replace(),String对象的+和==操作,成员方法intern(P139)
(1)基本数据类型可通过String类的ValueOf()方法转换得到字符串表达形式。对于对象则可以调用其继承的基本根类Object中的toString()来转成字符串表达形式。(p130-p131)
(2)把字符串转换成基本数据类型由包装器(wrapper)类Byte Integer Long Double Float等中定义的parseXXX()系列方法完成(p138-p139)。
注:Java 为每种基本数据类型都提供了相应的包装器类,如:int 的包装器类是 Integer,boolean 的包装器类是 Boolean 等。包装器类主要提供了在基本类型值上的(转换)操作功能。
5.区别String与StringBuffer
(1)String实例一旦创建,不能改变其内容;StringBuffer实例则可以修改实例所包含的字符序列
6、Vector实现了可扩展的对象数组,使用向量没有数组的范围限制,可以不断添加元素。但向量中不能存放基本数据类型的数据,加入的数据均为对象。
掌握Vector的基本使用方法(PPT的例子,向量变量声明、向量元素的遍历等);
了解使用Iterator迭代器来遍历元素的方法(P152)。
第5章 泛型、枚举与for语句的简化写法
1、泛型可以减少数据的类型转换,提高程序的复用性。(P162)掌握泛型的三种定义与使用方法(结合PPT和课本的例子进行理解)
2、了解枚举的定义与使用(结合PPT和课本的例子进行理解)
3、掌握for语句的简化写法(foreach)。某类要支持使用foreach写法,要求该类具有成员方法iterator()或者实现Iterable接口。
4、通过本章的作业掌握泛型与枚举的用法。
第6章 异常处理、递归和单体程序设计方法
1.异常的概念与异常的基本分类:(P179)
(1)受检异常(Checked Exception):在编译时能被Java编译器所检测,需要进行异常处理。
?必须在方法声明时通过throws列出
?在编译时就能被检测出
(2)非受检异常(Unchecked Exception):包括运行时异常和错误,在编译时无法被检测。其中运行时异常只有在程序运行时才能被检测到,错误异常在程序中无法被处理。
?不必在throws列表中
?错误(Errors) 和运行时例外(RuntimeExceptions)
所有的异常类都是Throwable的子类。异常对象由throw语句抛出。
2、了解异常(Exception)的层次结构(p179,图6.1)
3.通过例子掌握异常的处理过程:异常的抛出、捕获和处理(try/catch/finally)(PPT中的练习题)
4、单体设计模式使用的条件是……(P191)单体设计模式的特点。(P192)掌握单体设计模式的实现方法(p191-P194),示例的单体类为什么不能派生子类.(P194) java.lang.Runtime是一个典型的单体类。(P195)
5、掌握断言 assert 的基本用法(-enableassertions 或-ea参数)(Java-10 编程规范和程序调试.ppt 的例子)
第7章 文件与数据流
1、输入流与输出流的基本概念:
(1)Java的数据流根据操作的数据流分为字节流和字符流
(2)字节流(Byte Streams) :流中的数据以8位字节为单位进行读写,以InputStream和OutputStream为基础类。
(3)字符流(Character Streams) :流中的数据以16位字节为单位进行读写,以Reader和Writer为基础类。一般地,字节流类主要用于读写诸如图象或声音等的二进制数据。
2. 掌握标准输入/输出/错误流(System.in/System.out/System.err类) 的用法(包括重定向)
3.了解用于文件和目录管理的 java.io.File 类。
4.掌握文件输入/输出流的建立与使用(FileInputStream/FileOutputStream 或FileReader/FileWriter, BufferedReader/ BufferedWriter、InputStreamReader的配合使用,如何读取键盘的输入,如何从键盘输入并显示字符,可参考PPT Java-4-1,文件复制的基本读写操作、Scanner类的作用)
5、理解类对象的序列化和反序列化过程。(PPT和课本的描述与例子)
序列化分为两部分:序列化和反序列化。
序列化是将对象状态数据分解成字节流,以便存储在文件中或在网络上传输。
反序列化是打开、输入字节流并在内存中重构对象。
一个类如果实现了Serializable接口,则这个类创建的对象就是可序列化的对象。声明为transient或static的变量不能被序列化。
Serializable接口中没有方法,所以实现该接口的类不需要实现额外的方法。
一个可序列化的类的子类创建的对象也是可序列化的。
5、若要通过流来实现TCP通信过程,需要导入 import java.net.Socket或 java.net.ServerSocket类。(PPT)
第8章(更新) JavaFX图形用户界面程序设计
1.理解JavaFX应用程序中绘图区域的坐标系(原点)、stage类、scene类和GraphicsContext类的概念以及它们之间的关系和基本用法。
Group root = new Group();
Scene scene = new Scene(root);
Canvas canvas = new Canvas(400, 300);
root. 内容过长,仅展示头部和尾部部分文字预览,全文请查看图片预览。 public void handle(MouseEvent event)
{
// Get a random color
gc.setFill(Color.rgb(rnd.nextInt(255),
rnd.nextInt(255),
rnd.nextInt(255)));
gc.fillOval(event.getX(),event.getY(),100,100);
}
});
按钮的事件类:ActionEvent,鼠标的事件类:MouseEvent
获得事件源:event.getSource();
5、了解Lambda函数,通过例子掌握Lambda表达式在图形事件处理中的基本用法。(PPT的例子)
6、了解JOptionPane类中的几种常用方法:JOptionPane.showConfirmDialog、JOptionPane.showMessageDialog等。
7、掌握本章的作业。
[文章尾部最后500字内容到此结束,中间部分内容请查看底下的图片预览]请点击下方选择您需要的文档下载。
以上为《《Java语言程序设计》期末复习提纲__v2.0》的无排版文字预览,完整内容请下载
《Java语言程序设计》期末复习提纲__v2.0由用户“laren_chu”分享发布,转载请注明出处