Java程序设计使用教程 复习大纲

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第一章
1、什么是Java虚拟机?什么是Java平台无关性?
Java虚拟机是一套支持Java语言运行的软件系统,定义了指令集、寄存器集、类文件结构栈、垃圾收集堆、内存区域等,提供了跨平台能力的基础框架。

Java虚拟机的解释器在得到字节码后,对它进行转换,使之能够运行在不同的平台上。

Java平台无关性是指Java运行程序能够运行于不同的操作系统平台。

Java程序经编译生成一种中间代码,曾为字节码文件,它由虚拟机解释执行,因此具有平台无关性。

3、什么是解释执行?Java怎样解释执行两种应用程序?
解释执行是计算机语言的一种执行方式。

由解释器现场解释执行,不生成目标程序。

Java应用程序和java小应用程序,Java应用程序必须通过Java编译器(java.exe)来解释执行器字节码文件;java小应用程序必须通过支持Java标准的浏览器来解释执行。

4、环境变量path和classpath的作用分别是什么?
Path变量之处可执行文件路径,classpath指出java包的路径。

5、JDK的编译和运行程序的命令是什么?各针对什么类型的文件?
编译命令:javac,针对的是java源程序文件(.java文件);运行命令:java,针对的是字节码文件。

6、什么是包?为什么需要包机制?Java有哪些包?各有什么功能?
为了更好地组织类,Java提供了包机制从逻辑概念讲,包是累的集合,一个包中包含多个类:从存储概念上看,包是类的组织方式,一个包就是一个文件夹,一个文件夹中包含多个字节码文件。

ng包:java的核心类库,包含了运行java程序必不可少的系统类,如基本数据类型、基本数学函数、字符串处理、线程、异常处理类等。

java.util包:Java的实用工具类库Java.util包。

在这个包中,Java提供了一些实用的方法和数据结构。

java.io包:java语言的标准输入/输出类及文件操作类库。

java.applet 包:实现Applet应用程序。

Java.text 包:Format、DataFormat、SimpleDateFormat等类提供各种文件或日期格式。

包:实现与网络编程有关的类。

Java.sql包:提供数据库应用功能的类库。

Java.swing包:扩充和增强图形用户界面功能的类库。

7、创建及使用包例1.4。

8、JavaAPI采用什么组织方式?怎样使用Java定义好的类?
JavaAPI按照功能将乐酷分成若干包,是按包组织的。

使用import命令导入包含所需类的包。

9、Java源程序的结构。

Java语言的源程序代码由一个或多个编译单元组成,每个编译单元可包含三个要素:包声明、引入语句类声明和接口声明以上三个要素必须按照以上顺序定义。

每个Java编译单元可包含多个类和接口,但只能有一个类或者接口是公共的。

10、程序中的错误有哪些?分别在什么时刻被发现?
语法错误,违反与法规犯的错误称为语法错错误,其由编译器直接指出。

语义错误,语法正确但是存在语言含义错误,称为语义错误。

语义错误在运行时被发现。

逻辑错误,程序运行不正确的错误称为逻辑错误。

该错误必须由程序员根据自身程序设计经验,利用开发工具中的调试功能,确定错误原因以及出错位置。

11、本章中课本例题1.1、1.3、1.4
12、实验1
第二章
1、Java中有哪些关键字?Java中标识符的定义规则是什么?Java中有几种注释方法?
关键字:public、class、static、void等
标识符的定义规则:
标识符中的数字指的是0~9,字母指大小写英文字母、下划线、和美元符,也可以是Unicode 字符集里的字符。

标识符可以是字母、数字等字符的任意组合,除此之外,不能包含其他字符。

区分字母的大小写,不能使用关键字,长度不受限制。

2、Java基本数据类型有哪些?引用数据类型有哪些?
基本数据包括:整数类型(包括字节型、短整型、整型、长整型)、浮点数类型、布尔类型、字符类型。

引用数据类型包括:类、接口和数组。

3、Java中的字符类型和C中字符类型有何不同?short和char的取值范围有何不同?
Java中的字符类型占用2个字节,C中占用1个字节。

Short是16位的无符号整数,取值范围:-32768~32767,char型的取值为字母。

4、分析基本数据类型与引用数据类型的主要特点,说明这两种变量的差别。

基本数据类型存放在内存的栈区,引用类型实际是常量指针,也存放在栈区,但是引用类型所引用的对象也是由基本数据构成的,这些基本数据存放在堆区。

基本数据类型在超出作用域后就立即释放栈区内存,引用数据类型在超出作用域后该常量指针也会立即释放栈区内存,但是他所引用的对象所包含的数据不会立即释放,会在后面的某一个时刻由垃圾回收器检测到,然后收回。

5、算术运算、关系运算、逻辑运算和位运算各有哪些运算符?掌握各种不用运算符的运算规则。

算术运算:正+、负-、自加++、自减--、加+、减-、乘*、除\、取余%
关系运算:等于==、不等于!=、大于>、小于<、大于等于>=、小于等于<=
逻辑运算:与&、或|、非!、亦或^、条件与&&、条件或||
位运算:非~、与&、或|、亦或^、左移位<<、右移位>>、无符号右移位>>>
6、为什么需要常量和变量?声明常量和变量时为什么必须给出其所属的数据类型?常量有几种形式?
程序中使用的数据大多需要经常变化,使用常数值表示显然不够,因此每种算法语言都提供常量和变量来存储数据。

变量和常量在定义时需要指定数据类型因为操作系统需要为变量分配内存单元,内存单元的大小取决于变量的数据类型。

常量有两种形式:直接常量和符号常量。

7、什么是最终变量?如何声明最终变量?
最终变量使指保存在程序中不能被更改的数据、采用final声明。

8、什么是变量的作用域?声明变量时,如何确定变量的作用域?
变量的作用域是指变量的使用范围,并不是变量定义后的语句一直都能使用前面定义的变量。

用大括号将多个语句包起来形成一个复合语句,变量只能在定义它的复合语句中使用。

9、instanceof作用是什么?举例说明如何使用。

它的作用是测试它左边的对象是否是它右边的类的实例,返回boolean类型的数据。

比如:String s = "I AM an Object!";
boolean isObject = s instanceof Object;
我们声明了一个String对象引用,指向一个String对象,然后用instancof来测试它所指向的对象是否是Object类的一个实例,显然,这是真的,所以返回true,也就是isObject的值为True。

10、设int i,写出下列问题对应的表达式:
(1)判断i为奇数或偶数
(2)判断i是否是一个三位数。

11、设char ch;,写出下列问题对应的表达式
(1)判断ch是一个十进制的数字字符
(2)判断ch是一个十六进制的数字字符
(3)判断ch是一个大(小)写字母
(4)判断ch是一个英文字母,不论大写或小写
(5)将一个十进制的数字字符ch转换成对应的整数类型值
(6)将一个十六进制的数字字符ch转换成对应的整数类型值
12、说明for、while和dowhile三种循环语句的特点和区别
For将循环控制变量初值、循环条件和变量的变化规律都以表达式方式写在循环体前面。

while特点是先判断后执行,当条件满足时执行循环体。

dowhile特点是特点是先执行后判断,首先执行循环体、再判断。

13、Java中一维数组和二维数组如何声明、如何分配空间、如何初始化?
一位数组声明方法有两种:数据类型[] 数据变量、或者数据类型数组变量[]
二维数组声明与一位数组相似只不过要包含两个中括号。

一位数组以及二维数组均使用new关键词来分配空间。

Java对所有使用new运算符动态分配的存储单都进行初始化工作、变量变量根据其所属的数据类型获得相应的初值。

14、Java的数组比C的数组有哪些优越之处?
Java中的数组实际上是一种类,其中包含一些成员变量,比如数组的长度等信息。

Java中的数组定义具有自动检测是否越界的能力,自动检测是否符合类型,也就更安全可靠。

15、作为引用数据类型,数组变量与基本数据类型的变量使用时有哪些区别?
数组变量与基本数据类型变量不同点在于,存储单元的分配方式不同,两个变量之间的赋值方式也不同。

基本数据类型变量获得存储单元的方式是静态的,声明了变量后系统就为变量分配了存储单元,就可以对变量赋值。

两个变量之间的赋值是值本身。

数组变量的引用赋值,数组变量保存的是数组的引用,即数组占用的一片连续存储空间的首地址及长度特性。

当声明一个数字变量而未申请空间时,变量是未初始化的,没有地址及特性值。

只有申请了存储空间,才能以下标表示数组元素。

16、什么是静态方法?静态方法如何调用?静态方法能否被非静态方法(实例方法)调用?实例方法能否直接在静态方法中调用?
静态的方法就是不需要将类实例化就可以直接使用类名调用到方法或者属性。

而非静态的就需要将此类实例化之后才能够调用到方法或者属性。

静态方法的调用有两种途径:(1)通过类的实例对象去调用,调用格式为:对象名.方法名(2) 通过类名直接调用,调用格式为:类名.方法名
在静态方法中不能调用非静态的方法和引用非静态的成员变量。

17、方法调用传递参数时,值传递和引用传递有何不同?举例说明。

按值传递时,实参本身的值不会随形参的改变而改变,按引用传递时,实参本身的值会随形参的改变而改变。

18、什么方法重载?如何实现方法的重载?
一个类中如果有多个同名方法但是带有不同的参数列表,称为方法的重载。

重载方法实现时,重载的不同方法以参数列表相区别,而不能以返回值相区别。

19、String类型的变量如何定义、赋值?有哪些运算?有哪些常用特性?
定义:String 变量名
赋值:将双引号包含的字符串可以直接赋值给字符串变量。

运算:赋值运算,连接运算
常用特性:String是一个类,有构造方法,实例方法。

可以通过String对象调用String的方法来获得字符串的长度、获得指定位置字符、获得指定位置子串等功能。

20、怎样比较两个字符?怎样比较两个字符串?
字符的比较可以直接利用==运算法
字符串的比较需要利用String类的equals方法来实现。

21、怎样将数值类型转换成字符串?怎样将字符串专换成对应的整型数据、单精度实型、双精度实型数据?
数值类型转化成字符串:String str = "" + inta;
字符串专换成对应的整型数据、单精度实型、双精度实型数据:
intnum=Integer.parseInt("str"); num=Integer.parseFloat("str");
num=Integer.parseDouble("str");
22、本章中课本上例题2.2、2.3、2.4、2.6、2.9、2.10、2.12、2.13、2.18
第三章
1、第三章课本全部知识点及课本例题
2、第三章课后习题全部
3、第三章实验3中实验(1)、(3)、(4)、(5)、(6)
第四章
1、什么是接口?接口有什么作用?接口有哪些特点?接口具有怎样的继承性?接口中能否写构造方法?接口的访问控制权限是什么?接口中的成员变量有何特点?接口中的成员方法有何特点?
接口是一组抽象方法、常量、和内嵌类型的集合。

接口是一种数据类型,它一抽象的形式来定义类型。

特点:Java接口本身没有任何实现,因为Java接口不涉及表象,而只描述public行为,所以Java接口比Java抽象类更抽象化。

Java接口的方法只能是抽象的和公开的,Java接口不能有构造器,Java接口可以有public,静态的和final属性。

继承性:接口的继承性是多继承,一个接口可以有多个父接口。

接口中没有构造方法
接口的权限为public。

成员变量:接口中的成员变量都是常量,默认修饰符为public static final,声明时必须要赋值,不能声明实例成员变量。

成员方法:接口中的成员方法都是抽象的实例成员方法,默认修饰符为public abstract,不能声明为static。

2、接口不能实例化,为什么能声明接口的对象?接口对象引用谁的实例?
声明一个接口就是定义了一种类型,该类型的值集为所有实现该接口的类及其子类实例。

因此如果一个类C实现了接口I,那么累C及其子类的实例不仅属于类C的类型,也同时属于接口I的类型。

3、什么是单继承,什么是多继承?类的层次体系为什么需要多继承?单继承有什么缺点,为什么Java仍采用单继承?Java中怎样实现多继承?
单重继承就是一个类只能有一个父类。

多继承就是可以有多个父类。

现实中的对象往往表现出多种特性,用单重继承无法客观描绘,因此需要多重继承。

但是C++的多重继承过于复杂,因此Java用“单重继承+接口”代替了多重继承,以提高运行效率,增加安全性,降低复杂性。

4、指出一下声明中的错误
protected interface Area{
public static int left;
public static final int RIGHT;
public Area();
private double area();
public static abstract double perimeter();
}
new Area()
5、说明接口与抽象类的区别
相同点:1.两者都包含抽象方法,约定多个类共用方法的参数列表和返回值。

2.两者都不能被实例化。

3.两者都是引用数据类型,其变量可被赋值为子类或实现接口类的对象。

不同点:1.抽象类约定多个子类之间共同使用的方法;接口约定多个互不相关类之间共同使用的方法。

2.抽象类与子类之间采用单重继承机制;一个类实现多个接口则实现了多重继承的功能。

3.抽象类及其类中成员具有与普通类一样的访问权限;接口的访问权限由public和缺省两种,接口中成员的访问权限均是public。

4.抽象类中可以包含非抽象方法,也可以声明构造方法;接口中的方法必须全部是抽象方法,不能声明构造方法。

5.抽象类中可以声明成员变量,子类可以对该成员变量赋值;接口中只能声明常量。

6、Java中为什么需要将Math类声明为最终类?Math类中有哪些常用方法?
Math 类不允许覆盖其中的方法,因为那些计算方法都是固定的,基本上都不会变,就没有继承的必要。

常用方法:abs,max,min,random。

7、Java的基本包装类有哪些?有何作用?
为实现完全面向对象的特性,Java为每个基本数据类型都声明有对应的一个类。

Byte、Short、Integer、Long、Float、Double、Character、Boolean。

8、当两个串的对应位置字符都相同而长度不等时,哪个较大?举例说明。

“abc” > “ab”
9、怎样将数值类型转换成字符串?怎样将字符串专换成对应的整型数据、单精度实型、双精度实型数据?
数值类型转化成字符串:String str = "" + inta;
字符串专换成对应的整型数据、单精度实型、双精度实型数据:intnum=Integer.parseInt("str"); num=Integer.parseFloat("str"); num=Integer.parseDouble("str");
10、关系运算符、equals()、compareTo()有何差别?
首先只有==可以用作两个基本类型数据之间的比较;
其次任何对象都可以调用.equals()方法,因为这是从Object类继承下来的,equals返回true、
false。

然后compareTo()方法是Comparable接口唯一需要实现的方法。

它的返回值不同于equals(),返回的是int值-1、0和1,而不是true和false。

11、String类、System类、Class类和Runtime类各有哪些功能,常用方法有哪些?
12、了解java.util包中常用的工具类
13、课本例4.1、4.2、4.3
第五章异常处理
1、Java中运行错误分哪两类?
错误和异常。

2、运行异常类常见的异常子类有哪些?什么情况下会产生这些异常?
算术异常ng.arithmeticexception 这个异常的解释是"数学运算异常",比如程序中出现了除以零这样的运算就会出这样的异常。

空对象异常NullPointerException 当对空数组中元素进行操作时,会引发该异常。

类型强制转换异常ClassCastException 当进行类型强制转换且遇到不能进行的转换操作时,会引发该异常。

负数组长度异常NegativeArraySizeException 当数组长度为负数时
数组下标越界异常ArrayIndexOutOfBoundException 当通过越界的下标来访问数组元素时。

字符串序号越界异常StringIndexOutOfBoundException 当指定字符串中字符的序号越界时。

数值格式异常NumberFormatException 当将字符串转换成数值且给定字符串不符合数值格式时。

3、异常处理的语句结构是什么?
try {}
catch {}
finally{}
4、课本例5.8、5.9、5.10、
第六章
1、第六章第6.1—6.3节全部知识点
2、第六章6.1—6.3节例题
3、第六章课后习题全部
4、第六章实验6中(1)、(2)、(3)、(4)、(5)、(6)
第七章
1、线程的定义和属性
进程:线程是一个可以并发执行的具有独立功能的程序关于某个数据集合的一次执行过程,也是操作系统进行资源分配和保护的基本单位。

进程的属性:
结构性:进程包含了数据集合和运行于其上的程序,
共享性:同一程序同时运行于不同数据集合上时构成不同的进程,
动态性:进程是程序在数据集合上的一次执行过程,是一个动态的概念,有生命周期。

独立性:进程既是系统总资源分配和保护的基本单位,也是系统调度的独立单位。

并发性:进程可以并发的执行,进程的并发性能够提高资源利用率和系统效率。

线程:线城市操作系统进程中能够独立执行的实体,是处理器调度额分配的独立单位,线程是进程的组成部分。

线程的属性:
并发性:统一进程的多个线程可以在一个或多个处理器上并发或并行地执行。

共享性:同一个进程中的所有线程共享但不拥有进程的状态和资源,且驻留在进程的同一个主存地址空间中,可以访问相同的数据。

动态性:线程是程序在相应数据集合上的一次执行过程,它有生命周期,也经历各种状态的变化,由创建而生,至撤销而消亡。

结构性:线程是操作系统中的基本调度和分派单位,因此它具有唯一的标识符额线程控制块。

2、掌握实现线程的两种方法:实现Runable接口和集成Thread类。

3、线程对象的生命周期
新建态,运行态,阻塞态和等待态,终止态。

4、Thread类中定义的改变线程状态的几个方法。

什么是线程的优先级?
线程启动,线程睡眠,线程中断。

Java提供了10个等级的线程优先级,每个线程对象创建时自动获得默认优先级5。

5、定时器的使用方法
定时器使用的是Timer类,Timer对象每隔delay时间定时执行ActionEvent 事件。

6、实现线程互斥的两种方法是什么?
声明一条同步语句,生命一条同步方法
7、课本例7.2、例7.5
8、实验7中(1)、(3)
第八章
1、什么是Applet?Applet和JApplet有何区别?
Applet是可以嵌入Web页的最小应用,又称为小应用程序,它不能单独运行,必须嵌入到HTML文档中,由浏览器解释执行。

Applet是awt中的,JApplet是swing包中的。

JApplet类使用BorderLayout的一个实例做为其内容窗格的布局管理器,而BorderLayout的缺省约束条件是BorderLayout.CENTER;Applet的缺省的布局管理器是FlowLayout,而FlowLayout的缺省约束条件是FlowLayout.LEFT,这是二者最显著的区别之一。

JApplet是只包含一个组件的容器,这个组件就是JRootPane的一个实例,而JRootPane包含了一个称作内容窗格的容器。

JApplet的实例可以有一个菜单栏,它是由setJMenuBar方法指定的,而AWT小应用程序却不能。

2、Applet的状态有哪些?状态改变时执行的方法有哪些?
状态:初始态、运行态、停止态、消亡态。

改变方法:init()方法:完成对象的初始化任务;start()方法:当浏览器显示Applet时,需要启动或重新启动当前Applet对象,执行该方法;stop()方法:当浏览器不显示Applet时,暂停Applet运行;destroy方法:销毁Applet对象,释放占用的系统资源。

3、Applet中如何获得资源文件的地址?如何加载显示图像?如何加载播放音频?
对于Applet如何获得资源文件的地址,Applet提供了以下两种方法来分别获取HTML文件和Applet字节码文件所在的路径,这两个方法均返回URL对象:
public URL getCodeBase() 以及public URL getDocumentBase()
显示图像:在paint()方法中,调用Graphics类的drawImage()方法来显示图像。

播放音频:Applet类提供播放音频的play()方法,利用该方法来播放音频。

4、课后习题全部
5、课本例8.2、8.3、8.4
第九章
1、什么是流?流有什么作用?
流是指一组有顺序、有起点和终点的字节集合,是对数据传输的总称或抽象。

设计流的目的是使数据传输操作独立于相关设备。

程序中需要根据待传输数据的不同特性而使用不同的流,数据传输给指定设备后的操作由操作系统执行设备驱动程序来完成,这样,程序中不需要关注设备实现的细节,似的一个源程序能够用于多种输入输出设备,从而增强了程序的课重用性。

2、Java中的流分为哪两类?对应哪两个超类?
字节流和字符流。

3、文件字节输入和输出流是由哪两个类实现的?如何创建两种对象流?输入流创建过程中会抛出哪种异常?
InputStream,OutputStream
创建方法:new InputStream(OutputStream) 变量名
异常:IOException异常
4、Java中字符输入输出流的抽象类是哪两个?
Reader,Writer
5、文件字符输入输出流是由哪两个类实现的?缓冲字符输入输出流由哪两个类实现?FileReader,FileWriter
BufferedReader,BufferedWriter
6、File类的功能是什么?File类中提供了哪些常用的方法?
File类保存文件或目录的各种属性,包括文件名、文件长度、最后修改时间、是否只读等,提供获得当前文件的路径名、判断指定文件是否存在、获得当前目录中所有文件列表、创建文件、删除文件、复制目录、删除目录等操作的方法。

访问文件对象方法:getName、getPath、getAbsolutePath、getParent、getParentFile
获得或设置文件属性:length、lastModified、exists、canRead、canWrite、isHidden、isFile、isDirectory、setReadOnly、setLastModified
文件操作方法:compareTo、renameTo、creatNewFile、delte
目录操作方法:mkdir、list、listFiles
7、Swing包中提供的文件选择对话框组建是哪个?如何使用这个组件显示打开对话框和保存对话框?如何返回在对话框中选中的文件?
JFileChooser为Swing提供的文件选择对话框,
显示打开对话框:使用showOpenDialog()方法;显示保存对话框:showSaveDialog()方法。

返回文件:需要得到对话框中用户指定的文件路径以及文件的名称。

8、课本例9.2、例9.6、例9.7
第十章
1、什么是URL类?其基本结构如何?
URL是统一资源定位符,用于在Internet上指定信息资源的地址。

基本结构:协议:// 主机[:端口] [/ 文件] [# 引用]
2、URLConnection类有何作用?InetAddress类有何作用?
一个URLConnection对象表示Internet上的一个文件,文件名由URL地址给定,通过该文件对象可以获得指定文件的各种属性。

InetAddress类表示Internet上一台计算机的主机名和其IP地址,提供将主机名解析为IP地址的方法。

3、什么是套接字?服务器端套接字ServerSocket类提供了什么功能?客户端套接字Socket 类提供什么?
套接字:多个TCP连接或多个应用程序进程可能需要通过同一个TCP协议端口传输数据。

为了区别不同的应用程序进程和连接,许多计算机操作系统为应用程序与TCP/IP协议交互提供了称为套接字(Socket)的接口。

ServerSocket提供accept:等待接收客户端的连接请求功能,如果收到客户端请求则建立一条TCP连接,连接成功后返回一个已连接的Socket对象。

客户端Scoket对象向指定主机的端口发送TCP请求。

4、Java的TCP Socket通信的流程是什么?
服务器端创建一个ServerSocket对象,指定端口号,ServerSocket对象等待用户端的连接请求;
客户端创建一个Socket对象,指定主机地址和端口号,向服务器发送连接请求;
服务端接受到客户端的连接请求,建立一条TCP连接,再创建一个Socket对象与客户端的Socket对象进行通信。

服务器端和客户端分别创建字节输入流和字节输出流,通过自己输入流获得对方发来的数据,通过字节输出流来向对方发送数据。

当一方决定结束通信时,向对方发送结束信息;另一方接收到结束信息后,双方分别关闭各自的TCP连接;
ServerSocket停止等待客户端的连接请求。

5、数据报通信需要用到哪两个类?
DatagramPacket 和DatagramSocket
第十一章
1、什么是JDBC?
JDBC是基于Java的、提供连接、访问和操纵关系数据库的应用程序程序接口,JDBC 提供在Java应用程序中执行SQL语句以访问和操作关系数据库穿的方法。

2、JDBC驱动程序有哪4类?
JDBC-ODBC桥驱动程序;本地库Java实现驱动程序;网络协议驱动程序;数据库协议驱动程序。

3、JDBC的基本功能有哪些?
指定JDBC驱动程序类型,并建立与指定数据库的连接;
获得所连接数据库的各种信息,包括驱动程序数据库、表、列的属性;
执行SQL语句并处理结果
4、采用JDBC-ODBC桥连接数据库的步骤是什么?
在操作系统的控制面板的数据源选项中添加一个数据源。

在程序中连接数据源:
第一步:加载驱动(作用是把需要的驱动程序加入内存)
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver")
第二步:得到连接(指定连接到哪个数据源),如果配置数据源时选择的是Windows NT。

相关文档
最新文档