当前位置:文档之家› Java考试复习整理

Java考试复习整理

Java考试复习整理
Java考试复习整理

一、简答题

2、Java程序是由什么组成的?Java 源文件的命名规则是怎样的?

答:一个Java 程序是由若干个类组成的。但只能有一个类是public 类。

Java源文件命名规则是:源文件名必须与其中的public 类的名字相同,扩展名是java;

如果源文件中没有public 类,那么源文件的名字只要和某个类的名字相同,并且扩展名是java就可以了。

3、Java语言与Java技术的关系如何?Java语言包括哪两部分?

答:Java语言是Java技术的基础。Java语言包括语法规则和Java类库两部分。

4、开发与运行Java程序需要经过哪些主要过程?

答:源程序编辑、字节码编译和解释运行。

5、为什么一个Java文件编译后可以获得多个字节码文件?

答:这是因为一个源文件中可有多个类,文件经过编译后,每个类就生成一个字节码文件(扩展名为class)。

7、面向对象的开发方法与传统的面向过程的开发方法有什么不同?

答:传统的面向过程的开发方法是把现实世界的问题转化成计算机逻辑,

而面向对象技术是计算机逻辑来模拟现实世界的问题。

8、什么是对象、类和实体?它们之间的关系如何?

试述下面的说法映射到面向对象的计算机逻辑中分别对应什么概念。

(1)计算机92班(2)计算机92班的同学刘利(3)大学生(4)X大学的大学生(5)班级

答:对象是现实世界中某个具体的物理实体在计算机逻辑中的映射和体现;

类是同种对象的集合与抽象。

(1)班级类的对象(2)大学生类的对象(3)大学生类(4)大学生类的子类(5)班级类9、对象有哪些属性?在计算机逻辑中如何描述这些属性?

答:对象有状态、行为、标志三个属性;

在计算机逻辑中分别用对象的变量、方法和对象名来描述这三个属性。

10、面向对象的开发包括哪些过程?

答:面向对象的分析(OOA)、面向对象的设计(OOD)、面向对象的开发(OOP)、面向对象的维护。

11、面向对象程序设计方法有哪几个最重要的特点?

答:抽象、封装、继承、多态。

12、什么是父类(超类)?什么是子类?父类、子类间属性有何关系?

答:当两个类具有继承关系时,被继承的类称为父类或超类;继承了父类或超类的所有数据和操作的类称为子类。父类是所有子类的公共属性的集合,而每一个子类则是父类的特殊化,是在公共属性的基础上的功能、内涵的扩展和延伸。

13、什么是封装?

答:封装就是指利用抽象数据类型将数据和基于数据的操作封装在一起,数据被保护在抽象数据类型的内部,系统的其它部分只有通过包裹在数据外面的被授权的操作,才能够与这个抽象数据类型交流和交互。

14、使用继承有什么好处?什么是单重继承?什么是多重继承?Java采用的是单重继承还是多重继承?

答:使用继承的主要好处是使得程序结构清晰,降低了编码和维护的工作量。只有一个单一父类称为单重继承。一个类可以有一个以上的父类称为多重继承。Java采用的是单重继承。

15、什么是多态?实现多态有哪些方式?

答:一个程序中同名的不同方法共存的情况称为多态。实现多态的方式有覆盖和重载。

16、什么是覆盖多态?什么是重载多态?覆盖多态和重载多态分别如何区分不同的同名方法?

答:子类对继承自父类的方法的重新定义就称为方法的覆盖,这种多态称为覆盖多态;类对自身已有的同名方法的重新定义称为重载,这种多态称为重载多态。覆盖多态以对象名或类名为前缀来区分不同的同名方法;而重载多态则是使用不同的参数列表来区分不同的同名方法。

17、类及类成员的访问控制符有哪些?

答:类成员:public,protected,friendly(default),private

类:public,final,abstract,protected(不加任何说明的缺省值)

18、构造函数特殊在哪里?构造函数什么时候执行?被谁调用?

答:构造函数的特殊性在于它既可以从父类那里继承,也可以相互重载。

构造函数在创建新对象时执行,由系统自动调用。

21、关键字static可以修饰哪些类的组成部分?

答:可以修饰属性、方法、静态初始化器。

22、什么是静态初始化器?静态初始化器与构造函数有什么不同?

答:静态初始化器是由关键字static引导的一对大括号括起的语句组,其作用与类的构造函数有些相似,p都是用来完成初始化的工作,但静态初始化器在三点上与构造函数有根本的不同:

(1)构造函数是对每个新创建的对象初始化,

而静态初始化块是对类自身进行初始化,只在类的第一个对象创建之前执行一次。

(2)构造函数是在用new运算符产生新对象时由系统自动执行,

而静态初始化块则是在它所属的类加载入内存时由系统调用执行。

(3)不同于构造函数,静态初始化块不是方法,没有方法名、返回值和参数列表。23、静态属性有什么特点?类对象可以访问或修改静态属性吗?

答:静态属性是类的属性,不专属于某个方法,类对象可以访问或修改静态属性。24、设某程序创建了类MyClassl的两个对象,试写出静态初始化器和构造函数执行的前后次序与次数。

答:先执行类MyClassl的静态初始化器一次,再执行构造函数两次。

25、抽象方法有什么特点?抽象方法的方法体在何处定义?

答:抽象方法的特点是用abstrac t修饰符修饰,只有方法头没有具体的方法体。

抽象方法在定义该方法的抽象类的非抽象子类中定义。

26、final修饰符可以用来修饰什么?被final修饰符修饰后有何特点?

答:final修饰符可用来修饰类、属性、方法和终结器。

被final修饰符修饰的类没有子类。被final修饰符修饰的属性在程序整个执行过程中都不能改变。被final修饰符修饰的方法是功能和内部语句不能更改的最终方法。被final 修饰符修饰的终结器(以称析构器——finalize()方法,是在对象被删除前进行收尾工作的方法)也是不能更改的。

27、哪些修饰符不能组合使用?

答:abstract与final(课本P62,final方法可以被继承但是不能被修改,但被final 修饰符修饰的类没有子类),abstract与private,abstract与static,构造函数不能是静态的,因为构造函数是创建对象时自动调用。

28、书写语句完成下面的功能。

(1)定义一个类,其名称为MyClass,类体为空,它可以被所有的其他类访问。

(2)将对象Objectl的属性fieldl在屏幕上显示出来。

答:(1)public class MyClass{} (2)System.out.print(Object1.field1);

29、书写语句完成下面的功能。

(1)调用对象Objectl的方法methodl,把返回值赋值给变量Hold。

(2)定义一个整型属性Mine,使得只有这个类本身可以访问它。

答:(1) Hold=Object1.method1(); (2) private int Mine;

30、书写语句完成下面的功能。

(1)为类Classl定义一个整型变量field2,使得所有其他类都可以访问它。

(2)定义一个无形式参数无返回值的方法method2,使得使用类名Classl作前缀就可以调用它。

答:(1) public class Class1{public int field2;} (2) static void method2() 类的静态方法

31、书写语句完成下面的功能。

(1)为类Class2编写构造函数的方法头,该构造函数不接受形式参数。

(2)为类Class2编写构造函数的方法头,该构造函数接受两个整型形式参数。

答:(1) Class2() (2) Class2(int c1,int c2)

32、书写语句完成下面的功能。

(1)创建类Classl的一个对象Objectl,定义这个类的一个引用Refl,把对象Objectl 的引用赋给Ref1。

(2)为类Classl创建一个静态整型变量s_data。

答:(1) Class1 Object1=new Class1();左边创建了一个对象Class1 Ref1=Object1; 右边创建了一个引用

(2) static int s_data;

33、Java中如何定义继承关系?写出定义类库中的类java.awt.Frame的子类MyFrame的类头的语句。

答:Java中是通过extends关键字定义继承关系的,其语句的一般格式是:class 子类extends 父类。

import java.awt.*;class MyFrame extends Frame

34、设父类SuperClass中定义了公共整型属性SuperProperty,SuperClass的子类SubClass 中定义了公共整型属性SubProperty,则属性SubClass.SuperProperty是否存在?来自何处?

答:存在,这个属性是从其父类那里继承来的。

35、什么是多重继承?Java是否支持多重继承?Java采取什么机制来替代多重继承?

答:一个子类有多个父类的情况称为多重继承,Java不支持多重继承,Java用实现接口的方法替代多重继承。

36、什么是属性(域)的隐藏?

答:子类重新定义一个与从父类那里继承来的属性完全相同的属性,称为属性的隐藏。37、一个类里是否可以有同名属性共存的情况?是否最多只能有两个同名的属性。

答:子类重新定义父类的同名属性可以实现同名属性共存,若此子类的同名属性又被其子类所隐藏,可以有更多的同名属性共存。

38、一个类里有同名属性共存的情况下,如何分别操纵这些同名的属性?

答:使用子类定义的方法将操纵子类定义的属性;使用继承自父类的方法将操纵父类定义的属性。

39、子类重新定义与父类方法的方法头完全相同的方法,这种情况称为什么?此时子类中还

能找到父类原来的方法吗?

答:这种情况称为方法的覆盖,此时,在子类中已不能找到父类原来的方法,它的内存位置已经被替代。

40、同名的不同方法共存的情况称为什么?如何区分这些同名方法?

答:这种情况称为方法的重载。不同类的同名方法用类名区分,

同类的同名方法用形式参数数目、顺序和类型区分。

41、Java中的多态有哪些方式?

答:Java中的多态有两种方式,第一种是子类对父类方法的覆盖,第二种是同类中方法的重载。

42、“重载中,两个同名方法只要返回类型或参数列表不同即可互相分辨”这种说法是否正确?为什么?

答:不正确,仅仅返回类型不同不能区分同名方法,必须参数列表不同。

43、试解释this和super两个关键字,其中this指代的是一个类还是一个具体的对象?

答:this表示的是当前对象本身,即this代表了当前对象的一个引用。super表示的是当前对象的父类对象,是当前对象的直接父类对象的引用。this指代的是一个具体对象。

44、子类SubClass重新定义并覆盖了父类SuperClass中的方法methodl(),如何使子类能够调用父类原先定义的方法methodl()? 答:super.methodl();

45、构造函数可以继承吗?子类继承父类的构造函数应遵循哪些原则?

答:子类可以继承父类的构造函数,构造函数的继承原则有:

(1)子类无条件地继承父类的不含参数的构造函数;

(2)如果子类自己没有构造函数,则它将继承父类的无参数构造函数作为自己的构造函数,如果子类自己定义了构造函数,则在创建新对象时,它将先执行继承自父类的无参数构造函数,然后再执行自己的构造函数。(3)对于父类的含参数的构造函数,子类可以通过在自己构造函数中使用super关键字来调用它,但这个调用语句必须是子类构造函数的第一个可执行语句。

46、一个构造函数如何调用同类的其他构造函数?如何调用父类的构造函数?

答:在同类中使用this,调用父类的构造函数使用super。

47、什么是包?如何创建包?为什么要使用包?包物理地对应什么?

答:包是相关类的松散集合。使用package语句可以创建包。使用包可以方便相关的类共同工作,也方便其他包中的类引用它们。包物理地对应文件夹,其中应保存包中类的字节码文件。

48、试写出一个语句创建一个名为MyPackage的包,这个语句应该放在程序的什么位置?

答:package MyPackage;应该在程序第一句。

49、试写出引用MyPackage中所有类的语句和引用MyPackage包中的一个类MyClassl。

答:引用MyPackage中所有类的语句是import MyPackage.*;只能引入类引用MyPackage包中的一个类MyClass的语句是import MyPackage.MyClassl;

50、什么是接口?它起到什么作用?

答:接口可看成是一种特殊的类,但接口不是类课本P61,是用来实现类间多重继承功能的结构。

51、接口中包括什么?接口中的各成员的访问控制符是一样的吗?是什么?

答:接口中包括常量与抽象方法。接口中的属性成员的访问控制符都是public static final,

接口中的所有方法的访问控制符都是public abstract,都是公共方法。

52、创建接口使用什么关键字?接口可以有父接口吗?试书写语句创建一个名为MyInterface的接口,它是实现了MySuperInterfacel和MySuperInterface2两个接口的子接口。

答:创建接口使用interface关健字,一个类声明实现实现接口在类头处使用用implements关健字,

接口可以有父接口,用extends关健字实现继承课本P61。

Interface MyInterface implements MySuperInterfacel,MySuperInterface2

54、实现接口的类是否必须覆盖该接口的所有抽象方法?

答:如果这个类是非抽象类的话,就必须覆盖该接口的所有抽象方法。

55、实现接口的抽象方法时,方法头应该与接口中定义的方法头完全一致,但是有时需要增加一个public修饰符,为什么?

答:接口的抽象方法的访问限制符都己指定为public,所以类在实现方法时,必须显式地使用public修饰符,否则将被系统警告为缩小了接口中定义的方法的访问控制范围。

56、程序中的错误分为哪两类?分别应如何排除?

答:编译错误和运行错误。排除编译错误可以借助于编译器的错误提示,排除运行错误要使用断点、单步运行等用户控制流程的调试手段。

58、写出三个常见的系统定义的异常,它们都是什么类的子类?

答:三个常见的系统异常是InterruptedException,ClassNotFoundException ,IOException 。

它们都是Exception类的子类。

59、用户程序如何抛出自己的异常?系统定义的异常如何抛出?

答:用户程序使用throw关键字抛出异常。系统定义的异常由系统在合适的时刻自动抛出。

62、阅读下面的程序片段并回答问题。

class Classl

{

int fieldl;

private int field2;

void methodl()

{

System.out.println(“我是Classl的第一个方法”);

}

void method2()

{

System.out.p dntln(“我是Classl的第二个方法”);

}

}

class Class2 extends Classl

{

int fieldChildl;

int fieldl;

void methodChildl()

{

System.out.pnntln(“我是Class2的第一个方法”);

}

void methodl()

{

S ystem.out.println(“我是Class2的第二个方法”);

}

}

(2)Classl有哪些方法和属性?Class2有哪些方法和属性?其中哪些与C1assl的方法和属性有关,是什么关系?

答:(2)Classl包括属性fieldl和field2,方法methodl和method2;Class2包括自身定义的属性fieldChildl和fieldl以及从父类继承的属性fieldl,方法包括Class2自身定义的methodChildl和methodl及其从父类继承的method2。

65、Java中最基础的类库是什么?谁是所有类的根类?做算术运算应该使用什么类?

答:Java中最基础的类库是https://www.doczj.com/doc/b96484414.html,ng;Object类是所有类的根类;做算术运算应该使用Math类。

67、为程序建立图形用户界面通常需要哪些步骤?

答:(1)设计图形用户界面的层次组织;

(2)设计并实现图形用户界面的外观;

(3)设计并实现图形用户界面的事件响应。

68、Java的图形界面的容器共有几种常用的布局管理策略?面板既是容器也是组件

答:有五种常用的布局,它们是FlowLayout、BorderLayout、CardLayout、GridLayout、null

69、对话框Dialog对象根据其性质不同,可以划分为哪两种类型?缺省情况下创建的对话框属于哪种类型?

答:可划分为有模式对话框和无模式对话框两种类型,缺省情况下创建的对话框是无模式的。

70、有模式的对话框最突出的特点是什么?如果一个对话框的目的在于警告或提醒用户(例如在用户删除某组件之前的确认),这个对话框应该是有模式的还是无模式的?

答:有模式对话框的特点是阻断其父组件接受事件和消息的渠道。如果一个对话框的目的在于警告或提醒用户,那么这个对话框应该是有模式的。

71、试述流的概念,最基本的输入输出流类是什么?

答:流是指在计算机的输入与输出之间运动的数据的序列。

最基本的输入输也流类是InputStream和OutputStream

72、写出下面这些输入输出流类的输入输出操作的格式特点。·

(1)InputStream和OutputStream

(2)DataInputStream和DataOutputStream

(3)FileInputStream和FileOutputStream

(4)PrintStream

(5)RandomAceessFile

答:(1)一个字节一个字节地输入输出数据。

(2)按照不同的数据类型输入输出。

(3)同InputStream和OutputStream

(4)把数据转化成字符串输出。

(5)同DataInputStream和DataOutputStream

73、程序与磁盘文件交互数据之前应该先完成什么操作?答:先建立与该文件交换数据的输

入输出流对象。

74、什么情况下创建FileInputStream对象可能引发IOException?

答:在指定的文件不存在的情况下创建FileInputStream对象可能引发IOException。

75、简述程序、进程和线程三个概念。线程有哪几个基本的状态?

答:程序是一段静态的代码,它是应用软件执行的蓝本。

进程是程序的一次动态执行过程,它对应了从代码加载、执行到执行完毕的一个完整过程,这个过程也是进程本身从产生、发展到消亡的过程。

线程是比进程更小的执行单位。一个进程在其执行过程中,可以产生多个线程,形成多条执行线索。

线程有新建、就绪、运行、阻塞、死亡五个基本状态。

76、在程序中使用多线程可以用哪两种基本方法?写出Runnable接口所包含的方法

答:可以使用派生Thread子类和实现Runnable接口。Runnable接口只有一个run()方法。

77、哪些情况下一个活动的线程会终止?答:执行其stop()方法或其run()方法运行完毕。

78、叙述一种引起死锁的情况。答:当两个或多个线程相互等待对方占据的同步资源时就会引起死锁。

二、单选题

1、类变量的修饰符是static、类方法的修饰符是static

2、使用super关键字调用父类的构造方法时,super必须是子类构造方法中的头一条语句。

4、判断两个字符串tom和jerry相等的表达式是tom.equals(jerry)

5、TextField类的方法getText( )获取文本的类型是(B)

A、一个字符

B、字符串

C、int型数值

D、float型数值

6、TextField类的一个构造方法TextField(String s,int x),其中的参数x是指定(D)

A、允许输入字符的个数

B、文本框内的空格数

C、参数s的长度

D、文本框的长度

7、按钮按下的事件监视器接口是ActionListener,ActionListener接口只有一个方法actionPerformed( )

设置ActionEvent事件监视器的方法是addActionListener( )即将监听器添加到事件源中用的是addActionListener( ),

8、设置ItemEvent事件监视器的方法是addItemListener( ),ItemListener接口只有一个方法itemStateChanged( )

9、设置TextEvent事件的监视器的方法是addTextListener( ),TextListener接口只有一个方法,这个方法是textValueChanged( )

13、(鼠标事件)MouseListener接口有五个方法,这个五方法是mousePressed( ) 、mouseReleased()、mouseEntered()、mouseExited()、mouseClicked()

14、(鼠标移动事件)MouseMotionListener接口有两个方法,这个两方法是mouseDragged( ) 、mouseMoved()

15、TextField类的对象文本框上引发ActionEvent事件的操作是(D)

A、改变文本框中的字符

B、在文本框内单击

C、在文本框内双击

D、在文本框内按回车键

16、TextArea类的对象文本区上引发TextEvent事件的操作是(A)

A、改变文本区中的文本的内容

B、在文本区内单击

C、在文本区内双击

D、鼠标在文本区内移动

17、CheckBox类可以创建两种选择框:单选和复选,创建”单选”选择框的构造方法是( B )

A、Checkbox()

B、Checkbox(String s, Boolean b, CheckboxGroup g)

C、Checkbox(String s)

D、Checkbox(String s,Boolean b)

18、Checkbox类的方法getState() 可以返回选择框的选中状态,如果是选中,该方法的返回值是(A )

A、true

B、false

C、1

D、0

21、List创建的对象是滚动列表,当用鼠标单击滚动列表的某个选项后就发生( D )、List创建的对象是滚动列表,当用鼠标双击滚动列表的某个选项后就发生( A )、菜单项(MenuItem)上发生的事件是( A )

A、ActionEvent事件

B、MouseClick事件

C、MouseEvent事件

D、ItemEvent事件

24、Runnable接口只有一个方法,这个方法是(B )

A、start()

B、run()

C、init()

D、begin()

25、启动线程,即使线程从新建状态转入就绪状态并进入就绪队列排队的方法是(A )

A、start()

B、run()

C、init()

D、begin()

26、线程的sleep方法的功能是(B )

A、使线程死亡

B、线程暂时放弃CPU资源

C、线程休息一会,但不放弃CPU资源

D、线程结束

27、当多个线程调用同一方法时,为使线程同步,该方法应使用修饰关键字(C )

A、protected

B、void

C、synchronized

D、public

29、建立客户端、服务器端套接字的构造方法名是( A、B )

A、Socket()

B、ServerSocket()

C、UrlSocket()

D、UdpSocket()

三、判断题

1、如果类里定义了一个或多个构造方法,那么Java不提供默认的构造方法。(√)

2、如果定义的类中没有给出构造方法,系统也不会提供构造方法。(╳)系统给出与类同名的构造方法。

3、可以通过类名直接访问类变量。(√)

4、实例方法既能被对象调用,又能用类名直接调用。(╳)实例方法只能通过对象来调用。

5、类方法既能被对象调用,又能用类名直接调用。(√)

6、一个类的所有对象共享类变量。(√)即类变量是一个类只有一个的

10、多态性就是指父类的某个方法被其子类重写时,可以各自产生自己的功能行为。(√)

11、Java不允许使用int型变量指定数组的大小。(╳)

与C语言不同,Java允许使用int型变量指定数组的大小。

42、FileInputStream使用字节流读取文件,而FileReader使用字符流读取文件。(√)

43、RandomAccessFile类创建的流既可以作为源也可以作为目地的。(√)

74、利用File对象不但可以判断一个文件或目录是否存在、是否可读可写、是否是文件、是否是目录,而且可以执行创建子目录、列举目录中的文件、获得文件长度、删除文件、修改文件名字等操作。(√)

75、打开一个文件输入输出流不需使用try-catch结构。(╳)打开文件必须使用try-catch结构。

47、如果try块中没有语句产生异常,则在执行完try块中的全部语句后,再进入try块后面

的catch块。(╳)

不产生异常就不进入catch块。

48、一个try块都必须有至少一个catch块与之对应,当一个try块有多个catch块与之对应时,应该把参数为父类异常对象的catch块排在后面。(√)

12、容器本身也是一个组件,因此,可以把一个容器添加到另一个容器中实现容器的嵌套。(√)

17、Panel类的实例及它的子类的实例都是容器。(√)

18、Canvas类的实例及它的子类的实例都是容器。(╳)Canvas画布,可在其中绘画,不是容器类。

21、用GridLayout布局的容器调用add方法将组件加入到容器中时,可以直接设定在某个网格单元中添加组件。(╳)只能按网格顺序添加组件。

19、一个容器设置布局的方法是setLayout(布局对象)。(√)

66、一个容器中可以混合使用多种布局策略。(√)

63、使用BorderLayout的容器最多只能放置5个组件,如果要放置更多的组件,则需要使用多层容器。(√)

64、使用BorderLayout和GridLayout布局策略的容器,其中的所有空间都被组件占满,没有任何空隙。(╳)

组件间可以设置横向和纵向空隙。

65、使用GridLayout布局策略的容器中,所有的组件都有相同大小。(√)

22、Java Applet小程序类及其子类所创建的对象默认的布局是BorderLayout。(╳)是FlowLayout布局。

23、Panel类及其子类所创建的对象默认的布局是FlowLayout。(√)

24、Frame类及其子类所创建的对象默认的布局是BorderLayout。(√)

25、Dialog类及其子类所创建的对象默认的布局是FlowLayout。(╳)是BorderLayout布局。

27、下拉列表Choice类的方法select(int index)可以把下拉列表中索引值是index的选项设置成选中状态。(√)

69、新创建的Frame窗框对象,会自动显示在屏幕上。(╳)必须用setVisible(true)方法才能显示在屏幕上。

70、使用add()方法可以向容器中添加组件,使用remove()方法可以将组件从容器中移出。(√)

28、组件调用方法setSize(int w,int h)可以设置组件的大小。(√)

29、组件调用方法setLocation(int x,int y)可以设置组件在容器中的位置。(√)

30、组件调用方法setBounds(int x,int y,int w,int h)可以设置组件在容器中的位置和组件的大小。(√)

31、组件调用方法setBackground(Color c)可以设置组件上的字体的颜色。(╳)是设置组件背景颜色。

字体是前景色

14、文本框(TextField类的对象)和文本区(textArea类的对象)的不同之处是二者对事件的处理不同。(╳)

二者的文本处理方式与方法也不同。

15、文本区(textArea类)的方法setText(String s)和append(String s)的功能是相同的。(╳)SetText(String s)方法将在文本区中重写文本s并覆盖原先的文本,而append(String s)只是在文本区尾部追加文本s。

67、可以使用append()方法把一个字符串添加到一个TextField中原有字符串的后面。(√)

54、Label、TextField和TextArea对象都拥有方法setText(),用来设置其中的文本内容。(√)16、标签的功能只是显示文本,不能动态地编辑文本。(√)

35、Menu 是MenuItem的子类。(√)

71、Menu对象中只能加入MenuItem对象。(╳)还可以加入Menu对象,以便设置子菜单。

73、MenuItem也可以添加到MenuBar上。(╳)只能添加到Menu上。

33、将菜单条放在窗口上的方法是setMenuBar(MenuBar bar)。(√)

34、菜单放在菜单条里,菜单项放在菜单里。(√)

36、对话框必须要依赖于某个窗口或组件。(√)

37、有模式对话框处于激活状态时,程序仍能激活它所依赖的窗口或组件。(╳)

按有模式对话框定义,不能激活其依赖的窗口。

72、设一个窗口中包含一个按钮,当用户点击该按钮时会弹出一个无模式对话框,则当窗口关闭时该对话框也随之关闭。(√)

55、对于一个Button对象,可以调用方法getLabel()获取其上的标签,从而判断是哪个按钮。(√)

56、一个Checkbox对象既可以作为一个复选按钮,也可以作为一个单选按钮组中的一个按钮。(√)

57、一个复选按钮实现的是“二选一”的结构,一个单选按钮组实现的是“多选一”的结构。(√)

58、List对象可以实现“多选一”结构,也可以实现“多选多”结构,完全由创建List对象时的参数确定。(√)

59、所有的鼠标事件都由实现了MouseListener监听接口的监听者来处理。(╳)

鼠标移动等由MouseMotionListener接口监听处理。

60、当用户鼠标移入Applet的区域范围时触发mouseEnter()方法,当用户鼠标移出Applet 的区域范围时触发mouseExit()方法。(√)

61、调用KeyEvent对象的方法getKeyChar()可以获得用户操作的键盘按键的字符值,调用getKeyText()可以获得用户操作的一些特殊字符,例如“F3”等。(√)

62、鼠标点击在屏幕上任何位置处,都可以激活mouseClicked()方法。(╳)

49、Java中画圆和画椭圆使用的是相同的方法。(√)

32、组件调用repaint()方法时,会自动调用update()方法,而update()方法的功能是清除paint()以前所画的内容。(√)

50、调用画矩形方法需要给出的是矩形左上角和右下角的坐标。(╳)

给出左上角座标及矩形有长度和宽度。

44、客户端和服务器端呼叫的端口号必须相同。(√)

78、进程是程序的一次动态执行过程。(√)

39、一个进程在其执行过程中,可以产生多个线程。(√)

40、Java中编程实现多线程应用有两个途径:一种是用Thread类的子类创建线程,另一种是用Thread类创建线程。(√)

41、用Thread类创建线程时,创建目标对象的类必须实现Runnable方法。(√)

76、一个线程对象的具体操作是由run()方法的内容确定的,但是Thread类的run0方法是空的,其中没有内容;所以用户程序要么派生一个Thread的子类并在子类里重新定义run() 方法,要么使一个类实现Runnable接口并书写其中run()方法的方法体。(√)

77、下面的语句将线程对象mt的优先级设置为12:mt.setPriority(12);(√)

78、某程序中的主类不是Thread的子类,也没有实现Runnable接口,则这个主类运行时不能控制主线程睡眠。(╳)

79、sleep()和wait()方法都使当前运行线程放弃处理器和它所占用的同步资源管理。(╳)

sleep()方法是,而wait()方法不是。

80、挂起、阻塞或等待的线程都能够恢复运行,但是停止运行的线程将不可能再复生。(√)

四、写出下列程序或程序片段的运行结果

4、

import java.util.*;

public class E1

{

public static void main(String args[])

{

String s=”I am Wanglin,she is my friend,she is a student”;

StringTokenizer fenxi=new StringTokenizer(s,” ,”);

int n=fenxi.countTokens();

while(fenxi.hasMoreTokens())

{

String s1=fenxi.nextToken();

System.out.print(s1+“ ”);

}

System.out.println();

System.out.println(“count=”+n);

}

}

答:运行结果:I am Wanglin she is my friend she is a student

count=11

8、public class UseRef

{

public static void main(String args[])

{

MyClass1 myobj,myref;

myobj=new MyClass1(-1);

myref=myobj;

System.out.println(”the original data is:”+myobj.getData());

myref.setData(10);

System.out.println(”now the data is:”+myobj.getData());

}

}

class MyClass1

{

int data;

MyClass1(int d)

{

data=d;

}

int getData()

{

return data;

}

void setData(int d)

{

data=d;

}

}

答:运行结果为:the original data is :-1

now the data is:10

11、public static void main(String args[])

{

char a[][]=new char[3][3];

for(int i=0;i

for(int j=0;j

if(i>=j)

a[i][j]=?*?;

else

a[i][j]=??;

for(int i=0;i

{

for(int j=0;j

System.out.print(a[i][j]);

System.out.println();

}

}

答:运行结果为:*

* *

* * *

12、public static void main(String arg[])

{

int array[]=new int[10];

for(int i=0;i<10;i++)

array[i]=i+1;

System.out.println(sum(array,array.length));

}

static int sum(int a[],int n)

{

if (n>1)

return a[n-1]+sum(a,n-1);

else

return a[0];

}

答:运行结果为:55

13、public class CreateString

{

public static void main(String args[])

{

char cArray[]={…一?,?路?,?顺?,?风?,?!?};

String sArray[]=new String[7];

StringBuffer sb=new StringBuffer(“很高兴见到您!”);

String s=”别来无恙?”;

sArray[0]=new String(s);

sArray[1]=new String();

sArray[2]=new String(“节日快乐!”);

sArray[3]=new String(cArray);

sArray[4]=new String(cArray,2,3);

sArray[5]=new String(sb);

for(int i=0;i

System.out.println(sArray[i]);

}

}

答:运行结果为:

别来无恙?

(println换到下一行)

节日快乐!

一路顺风!

顺风!

很高兴见到您!

null (定义了7个长度的)

14、class Student

{

int number;

String name;

Student(int number,String name)

{

this.number=number;

https://www.doczj.com/doc/b96484414.html,=name;

System.out.println("I am "+name+" my number is "+number);

}

}

class Univer_Student extends Student

{

boolean 婚否;

Univer_Student(int number,String name,boolean b)

{

super(number,name);

婚否=b;

System.out.println("婚否="+婚否);

}

}

public class Class1

{

public static void main (String[] args)

throws java.io.IOException

{

int i;

Univer_Student zhang=new Univer_Student(5144,"李晓红",false);

i=System.in.read();

}

}

答:运行结果为:I am 李晓红my number is 5144

婚否=false

15、class Sum

{

int n;

float f()

{

float sum=0;

for(int i=1;i<=n;i++)

sum=sum+i;

return sum;

}

}

class Average extends Sum

{

int n;

float f()

{

float c;

super.n=n;

c=super.f();

return c/n;

}

float g()

{

float c;

c=super.f();

return c/2;

}

}

public class Class1

{

public static void main (String[] args)

throws java.io.IOException

{

Average aver=new Average();

aver.n=100;

float result_1=aver.f();

float result_2=aver.g();

System.out.println("result_1="+result_1);

System.out.println("result_2="+result_2);

int i;

i=System.in.read();

}

}

答:运行结果为:result_1=50.5

result_2=2525.0

17、

import java.awt.*;

class Chengji

{

float f(float x,float y)

{

return x*y;

}

}

class Xiangjia extends Chengji

{

//重写父类的f方法

float f(float x,float y)

{

return x+y;

}

}

public class Class1

{

static Xiangjia sum;

public static void main(String args[])

{

sum=new Xiangjia();

System.out.println("sum="+sum.f(4,6));

//此处对象sum是调用自已的方法f,得到两数的和.

}

}

答:运行结果为:sum=10.0

18、

public class Class1

{

static float a[];

public static void main(String args[])

{

a=new float[5];

a[0]=23.9f;

a[1]=34.9f;

a[2]=45f;

a[3]=56.98f;

a[4]=100f;

System.out.println ("a[0]="+a[0]);

System.out.println ("a[1]="+a[1]);

System.out.println ("a[2]="+a[2]);

System.out.println ("a[3]="+a[3]);

System.out.println ("a[4]="+a[4]);

}

}

答:运行结果为:a[0]=23.9

a[1]=34.9

a[2]=45.0

a[3]=56.98

a[4]=100.0

20、

public class t1

{

static String jerry="I love Tom";

static String s1;

static String s2;

public static void main(String args[])

{

s1=jerry.substring(2);

s2=jerry.substring(2,5);

System.out.println (s1);

System.out.println (s2);

System.out.println (jerry.substring(jerry.indexOf("love"))); }

}

答:运行结果为:love Tom

lov

love Tom

JAVA期末考试复习题

《J A V A程序设计》练习题 一、单选择题 1、编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( B )。 A.java B. .class C.html D. .exe 2、设 x = 1 , y = 2 ,z = 3,则表达式 y+=z--/++x的值是( A )。 A. 3 B. 3.5 C. 4 D. 5 3、不允许作为类及类成员的访问控制符的是( C )。

A. public B. private C. static D. protected 4、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为(A )。 A. static void method( ) B. public void method() C. final void method( ) D. abstract void method( ) 5、关于选择结构下列哪个说法正确?( B ) A.if语句和 else语句必须成对出现 B.if语句可以没有else语句对应

C.switch结构中每个case语句中必须用break语句D.switch结构中必须有default语句 6、while循环和do…while循环的区别是:(D ) A.没有区别,这两个结构任何情况下效果一样 B.while循环比do…while循环执行效率高 C.while循环是先循环后判断,所以循环体至少被执行一次D.do…while循环是先循环后判断,所以循环体至少被执行一次 7、关于 for循环和 while循环的说法哪个正确? ( B ) A.while循环先判断后执行,for循环先执行后判断。B.while循环判断条件一般是程序结果,for循环的判断条件一般是非程序结果 C.两种循环任何时候都不可以替换

最新java考试复习整理复习进程

一、简答题 2、Java程序是由什么组成的?Java 源文件的命名规则是怎样的? 答:一个Java 程序是由若干个类组成的。但只能有一个类是public 类。 Java源文件命名规则是:源文件名必须与其中的public 类的名字相同,扩展名是java; 如果源文件中没有public 类,那么源文件的名字只要和某个类的名字相同,并且扩展名是java就可以了。 3、Java语言与Java技术的关系如何?Java语言包括哪两部分? 答:Java语言是Java技术的基础。Java语言包括语法规则和Java类库两部分。 4、开发与运行Java程序需要经过哪些主要过程? 答:源程序编辑、字节码编译和解释运行。 5、为什么一个Java文件编译后可以获得多个字节码文件? 答:这是因为一个源文件中可有多个类,文件经过编译后,每个类就生成一个字节码文件(扩展名为class)。 7、面向对象的开发方法与传统的面向过程的开发方法有什么不同? 答:传统的面向过程的开发方法是把现实世界的问题转化成计算机逻辑, 而面向对象技术是计算机逻辑来模拟现实世界的问题。 8、什么是对象、类和实体?它们之间的关系如何? 试述下面的说法映射到面向对象的计算机逻辑中分别对应什么概念。 (1)计算机92班(2)计算机92班的同学刘利(3)大学生(4)X大学的大学生(5)班级 答:对象是现实世界中某个具体的物理实体在计算机逻辑中的映射和体现; 类是同种对象的集合与抽象。 (1)班级类的对象(2)大学生类的对象(3)大学生类(4)大学生类的子类(5)班级类9、对象有哪些属性?在计算机逻辑中如何描述这些属性? 答:对象有状态、行为、标志三个属性; 在计算机逻辑中分别用对象的变量、方法和对象名来描述这三个属性。 10、面向对象的开发包括哪些过程? 答:面向对象的分析(OOA)、面向对象的设计(OOD)、面向对象的开发(OOP)、面向对象的维护。 11、面向对象程序设计方法有哪几个最重要的特点? 答:抽象、封装、继承、多态。 12、什么是父类(超类)?什么是子类?父类、子类间属性有何关系? 答:当两个类具有继承关系时,被继承的类称为父类或超类;继承了父类或超类的所有数据和操作的类称为子类。父类是所有子类的公共属性的集合,而每一个子类则是父类的特殊化,是在公共属性的基础上的功能、内涵的扩展和延伸。 13、什么是封装? 答:封装就是指利用抽象数据类型将数据和基于数据的操作封装在一起,数据被保护在抽象数据类型的内部,系统的其它部分只有通过包裹在数据外面的被授权的操作,才能够与这个抽象数据类型交流和交互。 14、使用继承有什么好处?什么是单重继承?什么是多重继承?Java采用的是单重继承还是多重继承? 答:使用继承的主要好处是使得程序结构清晰,降低了编码和维护的工作量。只有一个单一父类称为单重继承。一个类可以有一个以上的父类称为多重继承。Java采用的是单重继承。 15、什么是多态?实现多态有哪些方式?

java期末考试复习资料

j a v a期末考试复习资 料 https://www.doczj.com/doc/b96484414.html,work Information Technology Company.2020YEAR

复习: 一,选择题 (1)Java中,负责对字节代码解释执行的是(C) A:垃圾回收器 B:虚拟机 C:编译器 D:多线程机制 (2)下列叙述中,正确的是(A) A:Java语言的标识符是区分大小写的 B:源文件名与public类名可以不相同 C:源文件名其扩展名为.jar D:源文件中public类的数目不限 (3)下列语句中,错误的Java语句是(C) A:连续出现多个分号 B:try......catch语句 C:include语句 D:switch语句 (4)在Java程序中,已将FileWriter对象接到BufferedWriter对象上,要实现缓冲式输出,可对BufferedWriter对象使用的方法是(B) A:read() B:write() C:readLine() D:writeLong() (5)接口的所有变量和方法分别默认为是(A) A:final static和public abstract B:final static和public final C:public static和public abstract D:public static和public final (6)当线程A使用某个对象,而此对象又需要线程B修改后才能符合A线程的需要,这时线程A就要等待线程B完成修改工作,这种现象称为(A) A:线程的同步 B:线程的互斥 C:线程的调度 D:线程的就绪 (7)在Java程序中,已将FileWriter对象接到BufferedWriter对象上,要实现缓冲式输出,可对BufferedWriter对象使用的方法是(B) A:read() B:write() C:readLine() D:writeLong() (8)下列有关数组的叙述错误的是(D) A:数组是将一组相同类型的数据顺序存储,组成一种复合数据类型 B:在Java语言中,数组是一种引用类型,数组名如同对象名一样,是一种引用 C:对于多维数组,从最高维开始,可以对每一维分配不等长的空间

java期末考试知识点总结

java知识点总结 应同学要求,特意写了一个知识点总结,因比较匆忙,可能归纳不是很准确,重点是面向对象的部分。 java有三个版本:JAVA SE 标准版\JAVA ME移动版\JAVA EE企业版 java常用命令:java, javac, appletview java程序文件名:.java, .class java的两类程序:applet, application; 特点,区别,这两类程序如何运行 java的主方法,主类,共有类;其特征 java的数据类型,注意与C++的不同,如字符型,引用型,初值 java与C++的不同之处,期中已总结 java标记符的命名规则 1)标识符有大小写字母、下划线、数字和$符号组成。 2)开头可以是大小写字母,下划线,和$符号(不能用数字开头) 3)标识符长度没有限制 4)标识符不能使关键字和保留字 面向对象的四大特征 抽象、封装、继承、多态 封装,类、对象,类与对象的关系,创建对象,对象实例变量 构造函数,默认构造函数,派生类的构造函数,构造函数的作用,初始化的顺序,构造方法的重载 构造函数:创建对象的同时将调用这个对象的构造函数完成对象的初始化工作。把若干个赋初值语句组合成一个方法在创建对象时一次性同时执行,这个方法就是构造函数。是与类同名的方法,创建对象的语句用new算符开辟了新建对象的内存空间之后,将调用构造函数初始化这个新建对象。 构造函数是类的特殊方法: 构造函数的方法名与类名相同。 构造函数没有返回类型。 构造函数的主要作用是完成对类对象的初始化工作。 构造函数一般不能由编程人员显式地直接调用。 在创建一个类的新对象的同时,系统会自动调用该类的构造函数为新对象初始化。 类的修饰符:public类VS 默认; abstract类; final类; 1)类的访问控制符只有一个:public,即公共的。公共类表明它可以被所有其他类访问和引用。 若一个类没有访问控制符,说明它有默认访问控制特性,规定该类智能被同一个包中的类访问引用(包访问控制)。 2)abstract类:用abstract修饰符修饰的类被称为抽象类,抽象类是没有具体对象的概念类,抽象类是它所有子类的公共属性集合,用抽象类可以充分利用这些公共属性来提高开发和维护效率。 3)final类:被final修饰符修饰限定的,说明这个类不能再有子类。所以abstract与final 不能同时修饰一个类。 域和方法的定义 1)域:定义一个类时,需要定义一组称之为“域”或“属性”的变量,保存类或对象的数据。

java期末考试复习知识点

6.1.2字符串类几个常用方法 String类定义了许多方法,下面是几个最常用方法。 public int length():返回字符串的长度,即字符串包含的字符个数。注意,对含有中文或其他语言符号的字符串,计算长度时,一个符号作为一个字符计数。 public char charAt(int index):返回字符串中指定位置的字符,index表示位置,范围为0~s.length()-1。 public String concat(String str):将调用字符串与参数字符串连接起来,产生一个新的字符串。 –public String substring(int beginIndex, int endIndex):从字符串的下标beginIndex开始到endIndex结束产生一个子字符串。 –public String substring(int beginIndex):(子链\子串);从字符串的下标beginIndex开始到结束产生一个子字符串。 –public String replace(char oldChar, char newChar):将字符串中的所有oldChar 字符改变为newChar字符,返回一个新的字符串。 –public String to Upper Case():将字符串转换成大写字母。 – public String to Lower Case():将字符串转换成小写字母。public String trim():返回去掉了前后空白字符的字符串对象。 (vt.装饰; 修剪; 整理; adj.整齐的,整洁的; 修长的; 苗条的; 修剪; 整齐; 健康状态; 装束;) public boolean isEmpty():返回该字符串是否为空(""),如果length()的结果为0,方法返回true,否则返回false。 下面程序要求从键盘输入一个字符串,判断该字符串是否是回文串。一个字符串,如果从前向后读和从后向前读都一样,则称该串为回文串。例如,“mom”和“上海海上”都是回文串。 算法思想:对于一个字符串,先判断该字符串的第一个字符和最后一个字符是否相等,如果相等,检查第二个字符和倒数第二个字符是否相等。这个过程一直进行,直到出现不相等的情况或者串中所有字符都检测完毕,当字符串有奇数个字符时,中间的字符不用检查。 6.1.7 String对象的不变性 在Java程序中一旦创建一个String对象,就不能对其内容进行改变,因此说Java的String对象是不可变的字符串。 有些方法看起来是修改字符串,但字符串修改后产生了另一个字符串,这些方法对原字符串没有任何影响,原字符串永远不会改变。请看下面的例子。 ?程序6.6 ChangeString.java public class ChangeString{ public static void main(String[] args){ String s = new String("Hello,world"); s.replace('o','A'); // s的值并没有改变 s = s.substring(0,6).concat("Java"); s.toUpperCase(); // s的值并没有改变 System.out.println(s); } } 程序运行结果为:

最新java考试复习重点资料

JA V A 考试重点复习 第一章Java 概述 1. Java 如何实现跨平台? 通过Java 虚拟机JVM 来实现跨平台,先将Java 源程序编译成字节码(后缀为.class 的 代码),字节码可以在Java 虚拟机上运行,不同的平台有不同的Java 虚拟机JVM ,相同的字节码可以不同的平台上运行。 2. Java 开发的三个平台是什么? J2SE 、J2EE 和J2ME 3. 如何编译与运行java 程序? 在Dos 命令提示符状态下通过命令行来实现的。例如: 如果用命令行运行test 的话,后面不可以写“.class ”,若写成test.class 系统会把class 当成类名test 当成类包,所以在没有类包的情况下不要写成“.class ”形式。 第二章Java 基础 1. 什么是标识符?如何定义标识符? 标识符是用来标识变量、常量、方法、类、对象等元素的有效字符序列。Java 语言规定标识符由字母、下划线、美元符号和数字等组成,并且第一个字符不能是数字。 对标识符的约定:(1)变量名、对象名、方法名、报名等标识符全部采用小写字母;如果标识符由多个单词构成,则首字母小写,其后单词的首字母大写,其余字母小写,如getAge 。(2)类名首字母大写。(3)常量名全部字母大写。 2. 关键字的定义? 关键字是由Java 语言定义的、具有特殊含义的字符序列。其首字母不能大写。如:this ,super ,extends ,if ,class ,instanceof 3.Java 中数据类型的结构? float 与double 定义时的区别: float 型的数要在后面要加f ,如34.5f 4. 常量与变量的声明方式? 常量: final[修饰符]类型标识符 常量名=(直接)常量 如: final public double PAI=3.14; 变量: [修饰符] 类型标识符 变量名[=常量]; 如: public float x=25.4f ; 常量与变量的区别:一旦定义为常量了,其值不能改变,若要改变其值,只能改变声明时 Output test.java javac test.class java va 数据类型 布尔(boolean) 数值类型 短整数(short) 字节(byte) 字符(char) 长整数(long) 整数 (int) 双精度浮点数(double ) 单精度浮点数(float) 定点类型 浮点类型 基本数据类型 引用数据类型 类 接口 数组

Java考试复习题

JAVA程序设计练习 一、填空题 1、目前Java运行平台主要分为下列3个版本是Java se ,Java ee ,Java me 。 2、SDK平台提供的Java编译器是javac.exe 和Java解释器java.exe 位于Java安装目录的bin 文件夹中。 3、Java运行环境JRE由Java虚拟机、Java的核心类以及一些支持文件组成。 4、一个Java应用程序必须有一个称为主类的类,该类含有public static void main (String args[ ])方法。 5、在源文件的命名中如果源文件中有多个类,那么只能有一个类是public类;如果有一个类是public类,那么源文件的名字必须与这个类的名字完全相同,扩展名是java; 6、一个Java Applet源文件不再需要main方法,但必须有且只有一个类扩展了Applet类,我们把这个类称作Java Applet源文件的主类。 7、类是组成Java程序的基本要素。类封装了一类对象的状态和方法。 8、创建一个对象包括对象的声明和为对象分配成员变量两个步骤,对象的声明的一般格式为:类的名字对象名字;使用new运算符和类的构造方法为声明的对象分配成员变量 9、用关键字static修饰的成员变量称作静态变量或类变量,类变量不仅可以通过某个对象访问也可以直接通过类名访问。 10、一个类中的方法可以互相调用:实例方法可以调用该类中实例方法或类方法;类方法只能调用该类的类方法,不能调用实例方法。 11、实例方法可以操作实例变量或类变量;而类方法只能操作类变量不能操作实例变量。 12、this关键字出现在类的构造方法中,代表使用该构造方法所创建的对象;this 关键字出现在类的实例方法中,代表使用该方法的当前对象。 13、成员变量在整个类内有效,局部变量仅在方法内有效,如果在方法内部局部变量的名字与成员变量的名字相同,则成员变量被隐藏,此时若要使用成员变量,格式为:this.成员变量。 14、java 小程序与java 应用程序之间的技术差别:运行环境。java 应用程序是可以独立运行的java程序,由java解释器控制执行。java 小程序不能独立运行,而是被嵌入到Web 页中,由支持java 的浏览器控制执行。 15、如果源文件中有多个类,则只能有一个Public类,源文件的名字与这个类名相同。 16、当用子类的构造方法创建一个子类的对象时 ,子类的构造方法总是先调用父类的某个构造方法,如果子类的构造方法没有指明使用父类的哪个构造方法,子类就调用父类的不带参数的构造方法。 17、方法重写是指:子类中定义一个方法,并且这个方法的名字、返回类型、参数个数和类型与从父类继承的方法完全相同。这时,如果子类想使用被隐藏的方法,必须使用关键字super。 18、一个方法被修饰为final方法,则这个方法不能被重写。 19、假设,B是A的子类或间接子类,写出创建上转型对象的语句为: A a=new B(); 。 20、abstract类不能用new运算符创建对象,必须产生其子类,由子类创建对象。

java考试复习重点

j a v a考试复习重点文档编制序号:[KK8UY-LL9IO69-TTO6M3-MTOL89-FTT688]

J A V A 考试重点复习 第一章Java 概述 1. Java 如何实现跨平台 通过Java 虚拟机JVM 来实现跨平台,先将Java 源程序编译成字节码(后 缀为.class 的代码),字节码可以在Java 虚拟机上运行,不同的平台有不同的Java 虚拟机JVM ,相同的字节码可以不同的平台上运行。 2. Java 开发的三个平台是什么 J2SE 、J2EE 和J2ME 3. 如何编译与运行java 程序 在Dos 命令提示符状态下通过命令行来实现的。例如: 如果 用命令行运行test 的话,后面不可以写“.class ”,若写成系统会把class 当成类名test 当成类包,所以在没有类包的情况下不要写成“.class ”形式。 第二章Java 基础 1. 什么是标识符如何定义标识符 标识符是用来标识变量、常量、方法、类、对象等元素的有效字符序列。Java 语言规定标识符由字母、下划线、美元符号和数字等组成,并且第一个字符不能是数字。 对标识符的约定:(1)变量名、对象名、方法名、报名等标识符全部采用小写字母;如果标识符由多个单词构成,则首字母小写,其后单词的首字母Output javac java

大写,其余字母小写,如getAge 。(2)类名首字母大写。(3)常量名全部字母大写。 2. 关键字的定义 关键字是由Java 语言定义的、具有特殊含义的字符序列。其首字母不能大写。如:this ,super ,extends ,if ,class ,instanceof 中数据类型的结构 float 与double 定义时的区别: float 型的数要在后面要加f ,如 4. 常量与变量的声明方式 常量: final[修饰符]类型标识符 常量名=(直接)常量 如: final public double PAI=; 变量: [修饰符] 类型标识符 变量名[=常量]; 如: public float x=; 常量与变量的区别:一旦定义为常量了,其值不能改变,若要改变其值,只能改变声明时的值。 5. Java 的运算符和表达式 单目运算符: ++、--、- 双目运算符: +、-、*、/、% 逻辑运算符:&、|、!、^、&&、|| 区别:逻辑与:& 逻辑或:| 短路与:&&(只要一个为F ,一定为F) 短路或:||(只要一个为T ,则一定为T ) 6. 关于注释的正确写法 va 数据类型 布尔(boolean) 数值类型 短整数(short) 字节(byte) 字符(char) 长整数(long) 整数(int) 双精度浮点数(double ) 单精度浮点数(float) 定点类型 浮点类型 基本数据类型 引用数据类型 类 接口 数组

Java期末考试复习及部分答案

第一部分知识点复习 第2章Java基础知识 1.标识符定义。 标识符是为Java程序中定义的变量、方法和类等所起的名字。 2.关键字。 Java将一些单词赋予特定的涵义,用于专门用途,不允许在当作普通的标志符来使用,这些单词被称为关键字 3.三种注释。 单行注释(//),多行注释(/*````````*/),文档注释(/**```````*/) 4.变量及其分类。 变量是利用声明的方式,将内存中的某个快保存下来供程序使用。 变量的类型:整型(int)、长整型(long)、短整型(short)、浮点型(float)、双精度浮点型(double)字符型(char)、字符串行(String) 5.常量的定义。 6.Java的数据类型分类。 基本数据,数组,类,接口 7.变量的类型转换(赋值相容)。 8.Java程序控制语句分为三类:选择、循环和顺序。 9.if语句和switch语句比较。 if语句和switch语句可以从使用的效率上来进行区别,也可以从实用性角度来区分。如果从使用的效率上进行区分,在对同一个变量的不同值作条件判断时,可以用switch语句与if语句,使用switch语句的效率相对更高一些,尤其是判断的分支越多越明显。 如果从语句的实用性的角度去区分,那switch语句肯定不如if条件语句。if条件语句是应用最广泛和最实用的语句。 10.while、do-while、for语句(包括for-each)的比较。 (1)while语句和do...while语句,只在while后面指定循环条件,但是需要在循环体中包括使循环趋于结束的语句,而for语句则可以在迭代语句中包含使循环趋于结束的语句。(2)用while语句和do...while语句时,对循环变量的初始化操作应该放在while语句和do...while语句之前,而for语句则可以在初始化语句中完成。 (3)while语句和do...while语句实现的功能相同,唯一的区别就是do…while语句先执行后判断,无论表达式的值是否为true,都将执行一次循环;而while语句则是首先判断表达式的值是否为true,如果为true则执行循环语句;否则将不执行循环语句。 (4)for循环语句一般用在对于循环次数已知的情况下,而while语句和do...while语句则一般用在对于循环次数不确定的情况下。 11.break语句的3种作用。 从当前循环中挑出来,结束本曾循环,对其外层循环没有影响。 12.continue语句的作用。 结束本次循环,进行当前所在层的下一次循环。

Java高级编程期末考试真题试卷及复习资料讲课讲稿

J a v a高级编程期末考试真题试卷及复习资 料

名词解释: 1.泛型 答:即参数化类型,允许程序创建集合时指定集合元素的类型。在定义方法、类、接口时使用类型形参,类型形参将在声明变量、调用方法、创建对象时动态地指定.如:List,ArrayList 2. 多态 答:Java引用变量分为编译时的类型和运行时的类型,编译时类型由声明该变量时使用的类型决定,运行时类型由实际赋给该变量的对象决定。如果两类型不一致,就出现多态。 3.阻塞 答:当前正在执行的线程被阻塞之后,其他线程就获得执行机会.被阻塞的线程会在合适的时候重新进入就绪状态,重新等待线程调度器再次调度它。 4. 封装 答:面向对象三大特征之一。指将对象的状态信息隐藏在对象内部,不允许外部程序直接访问,只能通过该类提供的方法来实现对内部信息的操作和访问。 5. 继承 答:类继承是新类可以从现有的类中派生。派生类继承了基类的非私有成员变量和方法,派生类可以拥有自己的成员变量和方法,可以用自己的方式实现基类的方法。 6. 抽象: 答:抽象就是忽略主题中与目标无关的方面,关注与目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不管部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。

选择题 第一大类(集合),如: 1、在Java中,( A )类的对象可被用作堆栈或者队列。 A. LinkedList B. ArrayList C. Collection D. HashMap 2、关于Java中的集合实现类,下列说法描述错误的是(D )。 A. HashMap是Map接口的实现类 B. ArrayList对象是长度可变的对象引用数组 C. 集合框架都包含三大块内容:对外的接口、接口的实现和对集合运算的算法 D. Set中存储一组不允许重复、有序(无序)的对象 第二大类(JDBC与SQL编程),如: 1、使用JDBC访问数据库时,下列关于JDBC的说法正确的是( B )。 A. Connection接口负责执行SQL语句 B. 可以使用Class.forName()方法把JDBC驱动类装载入Java虚拟机中 C. Statement接口由Connection产生负责保存返回的查询结果 D. DriverManager类负责连接数据库并传送数据

JAVA期末考试复习题修订稿

J A V A期末考试复习题内部编号:(YUUT-TBBY-MMUT-URRUY-UOOY-DBUYI-0128)

《J A V A程序设计》练习题 一、单选择题 1、编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( B )。 A.java B. .class C.html D. .exe 2、设 x = 1 , y = 2 ,z = 3,则表达式 y+=z--/++x 的值是( A )。 A. 3 B. 3.5 C. 4 D. 5 3、不允许作为类及类成员的访问控制符的是( C )。 A. public B. private C. static D. protected 4、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( A )。 A. static void method( ) B. public void method() C. final void method( ) D. abstract void method( )

5、关于选择结构下列哪个说法正确?( B ) A.if语句和 else语句必须成对出现 B.if语句可以没有else语句对应 C.switch结构中每个case语句中必须用break语句 D.switch结构中必须有default语句 6、while循环和do…while循环的区别是:( D ) A.没有区别,这两个结构任何情况下效果一样 B.while循环比do…while循环执行效率高 C.while循环是先循环后判断,所以循环体至少被执行一次 D.do…while循环是先循环后判断,所以循环体至少被执行一次 7、关于 for循环和 while循环的说法哪个正确?( B ) A.while循环先判断后执行,for循环先执行后判断。 B.while循环判断条件一般是程序结果,for循环的判断条件一般是非程序结果C.两种循环任何时候都不可以替换 D.两种循环结构中都必须有循环体,循环体不能为空 8、下列修饰符中与访问控制无关的是( D )

《JAVA设计模式》期末考试复习资料

《JAVA设计模式》复习资料 、单项选择题 1.设计模式起源于() A、机械设计 C、水利工程设计 2.“不要和陌生人说话”是( A、接口隔离 B、里氏替换3.目前常见的设计模式主要有( A、 23 B、 21 B 、建筑工程设计 D 、工业电力化设计)原则的通俗表述。 C、依赖倒置 D、迪米特 )种。 C、 32 D、 28 4.以下关于单一职责原则的叙述不正确的是()。 A、单一职责原则的英文名称是Si ngle Respo nsibility Prin ciple. B、单一职责原则要求一个类只有一个职责 C、单一职责原则有利于对象的稳定,降低类的复杂性 D、单一职责原则提高了类之间的耦合性 5.以下关于依赖倒置原则的叙述不正确的是() A、依赖倒置原则的简称是DIP B、高层模块不依赖于低层模块,低层模块依赖于高层模块 C、依赖倒置原则中高层模块和低层模块都依赖于抽象 D、依赖倒置原则实现模块间的松耦合 6.下面关于单例模式说法错误的是() A、单例模式是指一个类只有一个实例 B、单例类从实现方式上分为懒汉式和饿汉式 C、单例类从功能上分为状态单例类和无状态单例类 D、可以通过继承的方式对单例类进行扩展得到功能更丰富的单例类 7.下面关于工厂方法模式说法错误的是()。 A、工厂方法模式使一个类是实例化延迟到其子类中 B、工厂方法模式中具有抽象工厂、具体工厂、抽象产品和具体产品4个角色 C、工厂方法模式可以处理多个产品的多个等级结构 D、工厂方法模式可以屏蔽产品类 8.在以下情况不适合使用责任职责链模式() A、有多个对象可以处理请求,哪个对象处理该请求在运行时刻自动确定。 B、在需要用比较通用和复杂的对象指针代替简单的指针的时候。 C、你想在不明确指定接收者的情况下,向多个对象中的一个提交一个请求。 D、一个请求需要一系列的处理工作。 9.当我们想创建一个具体的对象而又不希望指定具体的类时,可以使用()模式 A、结构型 B、创建型 C、行为型 D、以上都可以 10.以下用来描述适配器模式的是() A、表示一个作用于某对象结构中的各元素的操作,它使你可以在不改变各元素的类的前提下定义作用于这些元素的新操作。 B、定义一个用于创建对象的接口,让子类决定实例化哪一个类。

javaee考试复习资料

第一章 一、什么是JAVA EE k JAVA EE是一个标准中间件体系结构2、JAVA EE是企业分布式应用开发标准。 二、JAVA EE编程思想和技术框架:什么是组件,什么是容器,JAVA EE有组件(三类重要组件和容器,其分布如何) JAVA EE编程思想:组件——容器 JAVA EE应用的基本软件单元是JAVA EE组件。 组件的运行环境被称为容器。 ? JAVA EE 组件: 1、客户端组件:JAVA EE客户端既可以是一个web浏览器、一个App I et,也可以是一个应用程序。 2、web组件:web组件是在JAVA EE web容器上运行的软件程序。它的功能是在HTTP协议以上对web请求进行响应,这些响应动态的生成网页。JAVA EE web组件包括Servlet和JSP。 3、EJB组件:用于实现特定的应用逻辑。EJB分为两种:会话EJB和实体EJB,会话EJB向客户提供一定的服务。而实体EJB则代表数据对象,通常代表的是数据表记录集的一行,一个实体EJB可以同时与多个客户进行交互。 三、简述JAVA EE体系所含的主要技术 1、组件技术 2、服务技术 3、通信技术

四、Java EE应用有哪些优点 1、独立于硬件配置和操作系统2.坚持面向对象的设计原则3.灵活性、可移 植性和互操作性4.轻松的企业信息系统集成 ( 第三章 一、什么是servlet,与Applet有什么区别 定义:一种独立于操作系统平台和网络传输协议的服务器端的Java 应用程序,它用来扩展服务器的功能,可以生成动态的Web页面相似之处:(1)它们不是独立的应用程序,没有main。方法。(2)它们不是由用户调用,而是由另外一个应用程序(容器)调用。(3)它们都有一个生存周期,包含initO和destroy 0方法。 不同之处:(1) Applet运行在客户端,具有丰富的图形界面。(2)Servlet运行在服务器端,没有图形界面。 二、servlet的工作原理(参与中的,和〈servlet-〉标签,另外注意多个请求的处理) 工作原理:Servlet运行在Web服务器上的Web容器里。Web容器负责管理Servleto它装入并初始化Servlet,管理ServIet的多个实例,并充当请求调度器,将客户端的请求传递到Servlet,并将Servlet的响应返回给客户端。Web容器在Servlet的使用期限结束时终结该Servleto服务器关闭时,Web容器会从内存中卸载和除去ServIet。 多个请求的处理:服务器会根据Servlet实例对象为每个请求创建一个处理线程。每个线程都可以访问Servlet装入时的初始化变量。每个线程处理它自己的请求。服务器将不同的响应发送回相应的客户端。

《JAVA设计模式》期末考试复习资料

《JAVA设计模式》复习资料 一、单项选择题 1.设计模式起源于() A、机械设计 B、建筑工程设计 C、水利工程设计 D、工业电力化设计 2.“不要和陌生人说话”是()原则的通俗表述。 A、接口隔离 B、里氏替换 C、依赖倒置 D、迪米特 3.目前常见的设计模式主要有()种。 A、23 B、21 C、32 D、28 4.以下关于单一职责原则的叙述不正确的是()。 A、单一职责原则的英文名称是Single Responsibility Principle. B、单一职责原则要求一个类只有一个职责 C、单一职责原则有利于对象的稳定,降低类的复杂性 D、单一职责原则提高了类之间的耦合性 5.以下关于依赖倒置原则的叙述不正确的是() A、依赖倒置原则的简称是DIP B、高层模块不依赖于低层模块,低层模块依赖于高层模块 C、依赖倒置原则中高层模块和低层模块都依赖于抽象 D、依赖倒置原则实现模块间的松耦合 6.下面关于单例模式说法错误的是() A、单例模式是指一个类只有一个实例 B、单例类从实现方式上分为懒汉式和饿汉式 C、单例类从功能上分为状态单例类和无状态单例类 D、可以通过继承的方式对单例类进行扩展得到功能更丰富的单例类 7.下面关于工厂方法模式说法错误的是()。 A、工厂方法模式使一个类是实例化延迟到其子类中 B、工厂方法模式中具有抽象工厂、具体工厂、抽象产品和具体产品4个角色 C、工厂方法模式可以处理多个产品的多个等级结构 D、工厂方法模式可以屏蔽产品类 8.在以下情况不适合使用责任职责链模式() A、有多个对象可以处理请求,哪个对象处理该请求在运行时刻自动确定。 B、在需要用比较通用和复杂的对象指针代替简单的指针的时候。 C、你想在不明确指定接收者的情况下,向多个对象中的一个提交一个请求。 D、一个请求需要一系列的处理工作。 9.当我们想创建一个具体的对象而又不希望指定具体的类时,可以使用()模式 A、结构型 B、创建型 C、行为型 D、以上都可以 10.以下用来描述适配器模式的是() A、表示一个作用于某对象结构中的各元素的操作,它使你可以在不改变各元素的类的前提下定义作用于这些元素的新操作。 B、定义一个用于创建对象的接口,让子类决定实例化哪一个类。

Java考试复习整理

J a v a考试复习整理-CAL-FENGHAI-(2020YEAR-YICAI)_JINGBIAN

一、简答题 2、Java程序是由什么组成的Java 源文件的命名规则是怎样的 答:一个Java 程序是由若干个类组成的。但只能有一个类是public 类。 Java源文件命名规则是:源文件名必须与其中的public 类的名字相同,扩展名是java; 如果源文件中没有public 类,那么源文件的名字只要和某个类的名字相同,并且扩展名是java就可以了。 3、Java语言与Java技术的关系如何Java语言包括哪两部分 答:Java语言是Java技术的基础。Java语言包括语法规则和Java类库两部分。 4、开发与运行Java程序需要经过哪些主要过程? 答:源程序编辑、字节码编译和解释运行。 5、为什么一个Java文件编译后可以获得多个字节码文件? 答:这是因为一个源文件中可有多个类,文件经过编译后,每个类就生成一个字节码文件(扩展名为class)。 7、面向对象的开发方法与传统的面向过程的开发方法有什么不同? 答:传统的面向过程的开发方法是把现实世界的问题转化成计算机逻辑, 而面向对象技术是计算机逻辑来模拟现实世界的问题。 8、什么是对象、类和实体它们之间的关系如何 9、 试述下面的说法映射到面向对象的计算机逻辑中分别对应什么概念。 (1)计算机92班 (2)计算机92班的同学刘利 (3)大学生 (4)X大学的大学生 (5)班级 答:对象是现实世界中某个具体的物理实体在计算机逻辑中的映射和体现; 类是同种对象的集合与抽象。 (1)班级类的对象 (2)大学生类的对象 (3)大学生类 (4)大学生类的子类 (5)班级类 9、对象有哪些属性在计算机逻辑中如何描述这些属性 答:对象有状态、行为、标志三个属性; 在计算机逻辑中分别用对象的变量、方法和对象名来描述这三个属性。 10、面向对象的开发包括哪些过程? 答:面向对象的分析(OOA)、面向对象的设计(OOD)、面向对象的开发(OOP)、面向对象的维护。 11、面向对象程序设计方法有哪几个最重要的特点? 答:抽象、封装、继承、多态。 12、什么是父类(超类)什么是子类父类、子类间属性有何关系 答:当两个类具有继承关系时,被继承的类称为父类或超类;继承了父类或超类的所有数据和操作的类称为子类。父类是所有子类的公共属性的集合,而每一个子类则是父类的特殊化,是在公共属性的基础上的功能、内涵的扩展和延伸。 13、什么是封装? 答:封装就是指利用抽象数据类型将数据和基于数据的操作封装在一起,数据被保护在抽象数据类型的内部,系统的其它部分只有通过包裹在数据外面的被授权的操作,才能够与这个抽象数据类型交流和交互。 14、使用继承有什么好处什么是单重继承什么是多重继承Java采用的是单重继承还是多重

JAVA期末复习知识点整理

JAVA知识点整理 1.Java的工作原理 2.Java采用Unicode编码 3.Java应用程序的结构 package java1_3_1.exam; //打包语句 import java.util.Date; //导入语句 public class Welcome //定义一个类,名为Welcome { public static void main(String args[])//main是类的主方法 { System.out.println(new Date()); //控制台显示日期 System.out.println("欢迎进入Java世界!"); //控制台输出字符串 } } package语句(打包语句)是程序的第一条语句,它是可选的。一个源程序最多只能有一个打包语句。它指明编译后的字节码文件(.class)存放的位置。 import语句(导入语句)用于导入所需的其他类,可以有多个,但必须放在package 之后,class之前。 接下来是类的定义。Java程序都是以类的方式组织的,class关键字用于定义类,每个类都有类名,花括号括起的部分为类体。 package、import、class三者有次序。 Java程序由类构成,每一个类的类体中可以包含多个成员方法。 class前面的public表明这个类是公有的,这种类的源文件必须和类名同名。Java 源文件都保存在.java文件中,编译后的文件(字节码文件)存放在.class文件 中。一个源文件中可以包含多个类,但只能有一个是public类型。 main()方法是一个特殊的方法,它是程序执行的入口。main方法说明的格式是特定的:public static void main(String args[])。一个应用程序只有一个类包 含main()方法,它是程序的主类。 System.out.println()方法用于在标准输出设备(屏幕)上输出数据。 Java程序大小写是敏感的。语句的分割用分号。“//”为行注释。

Java考试复习整理

2、Java程序是由什么组成的Java 源文件的命名规则是怎样的 答:一个Java 程序是由若干个类组成的。但只能有一个类是public 类。 Java源文件命名规则是:源文件名必须与其中的public 类的名字相同,扩展名是java; 如果源文件中没有public 类,那么源文件的名字只要和某个类的名字相同,并且扩展名是java就可以了。 3、Java语言与Java技术的关系如何Java语言包括哪两部分 答:Java语言是Java技术的基础。Java语言包括语法规则和Java类库两部分。 4、开发与运行Java程序需要经过哪些主要过程 答:源程序编辑、字节码编译和解释运行。 5、为什么一个Java文件编译后可以获得多个字节码文件 答:这是因为一个源文件中可有多个类,文件经过编译后,每个类就生成一个字节码文件(扩展名为class)。 7、面向对象的开发方法与传统的面向过程的开发方法有什么不同 答:传统的面向过程的开发方法是把现实世界的问题转化成计算机逻辑, 而面向对象技术是计算机逻辑来模拟现实世界的问题。 8、什么是对象、类和实体它们之间的关系如何 试述下面的说法映射到面向对象的计算机逻辑中分别对应什么概念。 (1)计算机92班 (2)计算机92班的同学刘利 (3)大学生 (4)X大学的大学生 (5)班级 答:对象是现实世界中某个具体的物理实体在计算机逻辑中的映射和体现; 类是同种对象的集合与抽象。 (1)班级类的对象 (2)大学生类的对象 (3)大学生类 (4)大学生类的子类 (5)班级类 9、对象有哪些属性在计算机逻辑中如何描述这些属性 答:对象有状态、行为、标志三个属性; 在计算机逻辑中分别用对象的变量、方法和对象名来描述这三个属性。 10、面向对象的开发包括哪些过程 答:面向对象的分析(OOA)、面向对象的设计(OOD)、面向对象的开发(OOP)、面向对象的维护。 11、面向对象程序设计方法有哪几个最重要的特点 答:抽象、封装、继承、多态。 12、什么是父类(超类)什么是子类父类、子类间属性有何关系 答:当两个类具有继承关系时,被继承的类称为父类或超类;继承了父类或超类的所有数据和操作的类称为子类。父类是所有子类的公共属性的集合,而每一个子类则是父类的特殊化,是在公共属性的基础上的功能、内涵的扩展和延伸。 13、什么是封装 答:封装就是指利用抽象数据类型将数据和基于数据的操作封装在一起,数据被保护在抽象数据类型的内部,系统的其它部分只有通过包裹在数据外面的被授权的操作,才能够与这个抽象数据类型交流和交互。 14、使用继承有什么好处什么是单重继承什么是多重继承Java采用的是单重继承还是多重继承 答:使用继承的主要好处是使得程序结构清晰,降低了编码和维护的工作量。只有一个单一父类称为单重继承。一个类可以有一个以上的父类称为多重继承。Java采用的是单重继承。

相关主题
文本预览
相关文档 最新文档