JAVA期末复习题 重点

一、选择题

1.下列选项中,定义抽象类的关键字是( D )。
A.interface B. implements C.private D. abstract
2.现有两个类Tom、Jerry,以下描述中表示Jerry继承自Tom的是( B )。
A. class Tom extends Jerry
B. class Jerry extends Tom
C. class Jerry implements Tom
D. class Tom implements Jerry
3.下列选项中,用哪种关键字修饰的方法不能再被重写 ( D )。
A.interface B. abstract C. implements D. final
4.布尔型变量假值表示为( B )
A. true B. false C.t D.f
5.使用( c )访问父类被子类隐藏的变量或覆盖的方法。
A.extends B.super C. this D. finalize
6.( b )用于读取诸如图像数据之类的原始字节流。
A. File B. FileInputStream C. FileOutputStream D. Reader
7.关于接口的定义和实现,以下描述正确的是: ( a )
A. 接口定义中的方法都只有定义没有实现
B. 接口定义中的变量都必须写明final和static
C. 如果一个接口由多个类来实现,则这些类在实现该接口中的方法时应采用统一的代码
D. 如果一个类实现一个接口,则必须实现该接口中的所有方法,但方法未必声明为public.
8.JAVA所定义的版本中不包括:( c )。
A.JAVA2 EE B.JAVA2 ME C.JAVA2 HE D.JAVA2 SE
9.下列说法正确的是( a )。
A.JAVA程序的main方法必须写在类里面 B.JAVA程序中可以有多个main方法
C.JAVA程序中类名必须与文件名一样 D.JAVA程序的main方法中如果只有一条语句,可以不用{}(大括号)括起来
10.定义一个类,必须使用的关键字是( b ) 。
A.Public B.class C.interface D.static
11.构造方法名必须与( a )相同,它没有返回值,用户不能直接调用它,只能通过new调用。
A.类名   
B.对象名  
C.包名  
D.变量名
12.下面( d)方法可以用来加载 JDBC 驱动程序。
A.类 java.sql.DriverManager 的 getDriver 方法
B.类 java.sql.DriverManager 的 getDrivers 方法
C.java.sql.Driver 的方法 connect
D.类 java.lang.Class 的 forName 方法
13.void的含义:( a )
A.方法没有返回值
B.方法体为空
C.没有意义
D. 定义方法时必须使用
14.抽象方法:( c )
A.可以有方法体 B.可以出现在非抽象类中 C.是没有方法体的方法 D.抽象类中的方法都是抽象方法
15.关于接口哪个正确?( a )
A.实现一个接口必须实现接口的所有方法 B.一个类只能实现一个接口
C.接口间不能有继承关系 D.接口和抽象类是同一回事
16.Swing采用的设计规范是( b )
A.视图----模型----控制器 B.模型-----视图—控制器
C.控制器-----模型----视图 D.控制器----视图-----模型
//Swing采用一种MVC的设计规范,即“模式一视图一控制”(Model-View-Controller)
17.在处理线程同步时,要做的第一件事就是要把修改数据的方法用关键字( c )来修饰。
A、static
B、instanceof
C、synchronized
D、implements
18.下列声明错误的是( c )。
A.int i= 120; B. double d = 94.03; C. float f = 1000; D.long m = 19990;
19.( a )对象主要用来获取文件本身的一些信息,不涉及对文件的读写操作。
A.File B. Reader C. FileInputStream D. DataInputStream
20.下列Java常见事件类中哪个是鼠标事件类? ( c )
A.InputEvent B.KeyEvent C.MouseEvent D.WindowEvent
21.使用Java语言编写的源程序保存时的文件扩展名是(b )。
A、.class B、.java C、.cpp D、.txt
22.设有数组的定义int[] a = new int[3],则下面对数组元素的引用错误的是( c )。
A、a[0]; B、a[a.length-1];
C、a[3]; D、int i=1; a[i];
23.在类的定义中可以有两个同名方法,这种现象称为方法( d )。
A、封装 B、继承
C、覆盖 D、重载
24.在类的定义中构造方法的作用是( d )。
A、保护成员变量 B、读取类的成员变量
C、描述类的特征 D、初始化成员变量
25.下面关键字中,哪一个不是用于异常处理语句( b)。
A、try B、break
C、catch D、finally
26.类与对象的关系是( a )。
A、类是对象的抽象 B、对象是类的抽象
C、对象是类的子类 D、类是对象的具体实例
27.下面哪一个是Java中不合法的标识符( d )。
A、$persons B、twoNum
C、_myVar D、point
28.为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( a)。
A、static void method( )
B、public void method( )
C、final void method( )
D、abstract void method( )
29.Java语言使用的字符码集是( d )。
A、ASCII B、 BCD
C、 DCB D、 Unicode
30. 如果一个类的成员变量只能在所在类中使用,则该成员变量必须使用的修饰是( c )。
A、 public B、 protected
C、 private D、 static
31.哪个关键字可以对对象加互斥锁?( b )。
A、 transient B、 synchronized
C、 serialize D、 static
32.关于抽象方法的说法正确的是( c )。
A、可以有方法体 B、 可以出现在非抽象类中
C、 是方法体的{}中为空的方法 D、 抽象类中的方法都是抽象方法
33.以下哪个不是Java的原始数据类型(b )
A、int B、Boolean C、float D、char
34. 以下关于继承的叙述正确的是( a )。
A、在Java中类只允许单一继承
B、在Java中一个类只能实现一个接口
C、在Java中一个类不能同时继承一个类和实现一个接口
D、在Java中接口只允许单一继承
35. 下列类定义中哪些是合法的抽象类的定义?( c )
A、abstract Animal{abstract void growl();}
B、class abstract Animal{abstract void growl();}
C、abstract class Animal{abstract void growl();}
D、abstract class Animal{abstract void growl(){System.out.println(“growl”);};}
36. 当点击鼠标或者拖动鼠标时,触发的事件是下列的哪一个?(d )
A、KeyEvent B、ActionEvent C、ItemEvent D、MouseEvent
37. Statement类的executeQuery()方法返回的数据类型是( d )
A、Statement类的对象 B、Connection类的对象
C、DatabaseMetaData类的对象 D、ResultSet类的对象
38. 如果容器组件p的布局是BorderLayout,则在p的下边中添加一个按钮b,应该使用的语句是( c )
A、p.add(b); B、p.add(b,“North”);
C、p.add(b,“South”); D、b.add(p,“North”);
39. 在使用interface声明一个接口时,只可以使用( d )修饰符修饰该接口。
A、private
B、protected
C、private protected
D、public
40. 下列哪一个import命令可以使我们在程序中创建输入/输出类的对象( c )
A.import java.sql.
; B.import java.util.; C.import java.io.; D.import java.net.;
41.java语言是1995年由( c )公司发布的。
A.Sun B.Microsoft C.Borland D.Fox Software
42.作为 Java 应用程序入口的 main 方法,其声明格式可以是( a )。
A.public static void main(String[] args) B.public static int main(String[] args)
C.public void main(String[] args) D.public int main(String[] args)
43.定义一个类,必须使用的关键字是( A ) 。
A.public B.class C.interface D.static
44.定义一个接口必须使用的关键字是( c ) 。
A.Public B.class C.interface D.Static
45.下列说法哪个正确?( a )
A.一个程序可以包含多个源文件 B.一个源文件中只能有一个类
C.一个源文件中可以有多个公共类 D.一个源文件只能供一个程序使用
46.在处理线程同步时,要做的第一件事就是要把修改数据的方法用关键字( c)来修饰。
A、static
B、instanceof
C、synchronized
D、implements
47.下面( d )方法可以用来加载 JDBC 驱动程序。
A.类 java.sql.DriverManager 的 getDriver 方法 B.类 java.sql.DriverManager 的 getDrivers 方法
C.java.sql.Driver 的方法 connect D.类 java.lang.Class 的 forName 方法
48.下列哪一个import命令可以使我们在程序中创建输入/输出流对象( c ) 。
A.import java.sql.
; B.import java.util.; C.import java.io.; D.import java.net.;
49.Swing采用的设计规范是( b )。
A.视图----模型----控制器 B.模型-----视图—控制器
C.控制器-----模型----视图 D.控制器----视图-----模型
50. Java专门提供了用来处理字符序列的( c d )类。
A.Char B.Array C. String D.StringBuffer
51.布尔型变量真值表示为( B )。
A.false B. true C.t D.f
52.下列选项中,用哪种关键字修饰的类不能再被继承 ( b )。
A.interface B.final C. finally D.abstract
53. 下列选项中,定义抽象方法的关键字是( d )。
A.interface B. implements C.private D. abstract
54.现有两个类Jack、John,以下描述中表示John继承自Jack的是( a )。
A.class John extends Jack
B.class Jack extends John
C. class John implements Jack
D. class Jack implements John
55.下列声明错误的是( c)。
A.int i= 20; B. double d = 94.43; C. float f = 90; D.long m = 9990;
56.( c )按字节读取文件中的数据。
A. FileReader B. BufferedReader C. FileInputStream D. DataInputStream
57.在使用interface声明一个接口时,可以使用( d )修饰符修饰该接口。
A. private
B. protected
C. private或protected
D. public
58. 子类构造方法中,可以使用( c )访问父类的构造方法。
A.extends B. this C. super D. finalize
59.下列说法正确的是( d )。
A. try-catch-finally代码块中的finally子句只有在try子句和catch子句都执行执行之后才执行
B. 如果try代码块中出现了异常并被catch子句捕捉到,那么finally子句就不再执行了
C. 只有try代码块中没有出现异常时,finally子句才会执行
D. 不管try代码块中是否出现异常,或者catch子句是否捕捉到异常,finally子句都将被执行
60.( a)对象主要用来获取文件本身的一些信息,不涉及对文件的读写操作。
A.File B. Reader C. FileInputStream D. DataInputStream
61.java语言是1995年由( a)公司发布的
A.Sun B.Microsoft C.Borland D.Fox Software
62 在当前的java实现中,每个编译源文件就是一个以(a)为后缀的文件
A.Java B.class C.doc D.exe
63.语句:JTextField=new JTextField(8);,语句中的 8 表示文本框的(a)
A.列宽 B.所显示的字符串 C.行高 D.编号
64.作为 Java 应用程序入口的 main 方法,其声明格式可以是(a)
A.public static void main(String[] args) B.public static int main(String[] args)
C.public void main(String[] args) D.public int main(String[] args)
65.定义一个类,必须使用的关键字是(b)
A.public B.class C.interface D.static
66.定义一个接口必须使用的关键字是(c)
A.Public B.class C.interface D.Static
67.用于设置组件大小的方法是(b)
  A.paint( )   B.setSize( )   C.getSize( )   D.repaint( )
68.下列Java常见事件类中哪个是鼠标事件类? (c)
A.InputEvent B.KeyEvent C.MouseEvent D.WindowEvent
69.下列哪一个import命令可以使我们在程序中创建输入/输出流对象(c)
A.import java.sql.
; B.import java.util.; C.import java.io.; D.import java.net.*;
70.下列说法哪个正确?(a)
A.一个程序可以包含多个源文件 B.一个源文件中只能有一个类
C.一个源文件中可以有多个公共类 D.一个源文件只能供一个程序使用
71.return语句:(c)
A.只能让方法返回数值 B.方法都必须含有
C.方法中可以有多句return D.不能用来返回对象
72.Frame对象默认的布局管理器是(b)
A.FlowLayout B.BorderLayout C.CardLayout D.null
73.下面(d)方法可以用来加载 JDBC 驱动程序。
A.类 java.sql.DriverManager 的 getDriver 方法 B.类 java.sql.DriverManager 的 getDrivers 方法
C.java.sql.Driver 的方法 connect D.类 java.lang.Class 的 forName 方法
74.下列不属于整型变量的类型是 (c)
A.Byte B.Short C.Float D.Long
75.Swing采用的设计规范是(b)
A.视图----模型----控制器 B.模型-----视图—控制器
C.控制器-----模型----视图 D.控制器----视图-----模型

二、填空题

1. JVM 指的是Java虚拟机。
2. 面向对象程序设计的三个基本特征分别是封装、 继承 、多态。
3. 类中的方法也可分为 实例方法 和类方法。
4. Date 是日期时间类。
5. 异常处理过程中,一个try程序块可以对应 多 个catch块。
6. 一般Java程序的类主体由两部分组成:一部分是 成员变量 ,另一部分是成员方法。
7.比较两个数相等的运算符是: == 。
8. 环境变量的设置,若JDK安装在“D:\JDK”,则应设置Path为D:JDK\bin、classpath为 .;D:jdk\lib 。
9. 同一个类中多个方法具有相同的方法名,不同的参数列表称为方法的 重载 。
10. public boolean equals(String s):字符串对象调用此方法比较当前字符串对象的 内容 是否与参数s指定的字符串相同。
11.当程序中需要抛出异常时,应该使用 throw 子句。
12. Java语言中提供的GUI功能主要由java.awt包和 java.swing 包中的类和接口实现。
13. 子类必须通过
super 关键字调用父类有参数的构造方法。
14. Java中有两种常用的字符串类,一个是String,另一个是
StringBuffer 。
15. OutputStreamWriter 类是OutputStream类的子类,用来处理以文件作为数据输出的数据流。
16. Java中的数据流包括字节流和 字符流 两种。
17. 若x = 5,y = 10,则x < y的逻辑值为 true 。
18. 最终方法 方法是不能被当前类的子类重新定义的方法。
19. 数组x定义如下,int x[ ][ ]=new int[3][2],则x[0].length 的值为_____2_____。
20. 浮点型数据属于实型数据,分为float和 double 两种类型。

三、判断题

  1. 在运行时,由Java解释器自动导入,而不用import语句引入的包是java.io。( n )
  2. 类的public类型的成员变量不可以被继承。( n )
  3. BorderLayout边界布局管理器把容器的的布局分为五个位置:CENTER、EAST、WEST、NORTH、SOUTH。( y )
  4. 在类的构造方法和实例方法中,使用关键字this 可以解决局部变量与实例变量同名的问题。( y )
    5.StringBuffer类能创建可修改的字符串序列。( y )
    6.Java中的的字符使用 ASCII 编码。( n)
    7.抽象方法只有方法头,没有方法体。( y )
    8.当声明一个数据组int arr[]=new int[5];时,这代表这个数组所保存的变量类型是整型,数组元素下标的使用范围是0-4。( y )
  5. java中的异常处理通过5个关键字来实现,在方法中宣布可能产生的异常应使用throws关键字。( y )
    10.在进行Java GUI 程序设计时,一般都要用到swing 特性,因此必须在程序的开头写上import javax.lang.*;语句。 ( n )
  6. Java的源代码中定义几个类,编译结果就生成几个以.class为后缀的字节码文件。( y )
  7. 在异常处理中,若try中的代码可能产生多种异常则可以对应多个catch语句,若catch中的参数类型有父类子类关系,此时应该将父类放在后面,子类放在前面。( y )
  8. 设 int x=1,float y=2,则表达式 x / y的值是2。(n )
  9. Java的类分为两大部分:系统定义的类和用户自定义的类。( y)
  10. 构造方法可以和类同名,也可以和类名不同。( n)
  11. 子类只能继承父类的方法,不能继承父类的属性。( n)
  12. 异常是可以捕获和处理的。(y )
  13. equals()方法只有在两个对象的内容一致时返回true。( y)
  14. 进程是程序的一次动态执行过程。一个进程在其执行过程中,可以产生多个线程——多线程,形成多条执行线索。( y)
  15. 在类的构造方法和实例方法中,使用关键字this 可以解决局部变量与实例变量同名的问题。( y )

四、问答题

1.抽象类和接口有什么区别?
通过interface关键字声明的类可以实现接口(可以实现多个接口),用abstract关键字修饰的类是抽象类。区别是:接口是定义操作行为的,抽象类是定义实体的。
2.面向对象的特征有哪些方面?
分类性、继承性、多态性
3. 简述创建线程的两种方法。
一种是继承java.lang包下的Thread类,重写Thread类的run()方法。另一种是实现Runnable接口.

五、程序题

1.定义一个类Student,属性为学号ID、姓名name和年龄age;方法为增加记录SetRecord(int ID,String name,int age)和得到记录GetRecord(int ID)。SetRecord给学号、姓名和年龄赋值,GetRecord(学号)通过学号得到同学的年龄(学号正确返回正确年龄,学号错误返回-1),新建School类,设定主函数main(),在主函数中,基于Student新建对象:自己姓名+自己学号(例如:Student zhangsan_19082101=new Student(); ),设置自己的学号、姓名、年龄,并根据学号调用GetRecord(学号)方法,将年龄打印输出。

2.创建一个A接口,接口中有三个抽象方法init(),start(),end();分别是初始化,启动和停止的功能。定义两个类来实现A接口,分别是Udisc、IPhone。每个类中都重写上述三个方法。创建一个测试类,在其中创建上述两个类的实例对象,并分别调用init()、start()、end()方法。注:运行效果中只要能输出类似于如下的文字即可——“U盘正在初始化”、“"U盘开始工作”、“U盘停止工作”,“IPhone正在连接”、“可以为IPhone导入导出文件了”、“IPhone已经被拔出”(即init( )、start(),end()三个方法中只需各写一条输出语句)。

  1. 按以下要求编写程序:
    (1) 创建一个Rectangle类,添加width和height两个成员变量。
    (2) 在Rectangle中添加两种方法分别计算矩形的周长和面积。
    (3) 编程利用Rectangle输出一个矩形的周长和面积。
public class Rectangle {
	double width;
	public void setWidth(double width) {
		this.width = width;
	}
	public void setHeight(double height) {
		this.height = height;
	}
	double height;
	public double zhouchang() {
		return 2*this.width+2*this.height;
	}
	public double area() {
		return this.width*this.height;
	}

}
public class mainclass {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Rectangle a=new Rectangle();
		a.setWidth(2.5);
		a.setHeight(3.5);
		System.out.println(a.area());
		System.out.println(a.zhouchang());
	}                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       
}

你可能感兴趣的:(java)