您的当前位置:首页正文

《Java程序设计》复习试卷1

2020-02-23 来源:步旅网
《Java程序设计》复习试卷

一、 选择题。

1. 编译Java Application 源程序文件将产生相应的字节码文件,字节码文件的扩展名为【 】。

A. .java B. .class C. .html D. .exe 2. 下面关于main()方法的定义哪个是正确?【 】

A. public main(String args[]) B. public static void main(String args[]) C. private static void main(String args[]) D. public static void main(String[]){ } 3.下面哪个赋值语句是错误的?【 】

A. float f = 11.1; B. double d = 5.3E5; C. Boolean b=false; D. byte bb = 433;

4. 在Java语言中,一个类可同时定义许多同名的方法,这些方法的形式参数的个数、类型或顺序各 不相同。这种面向对象的程序特性被称为【 】

A.隐藏 B. 覆盖 C.重载 D.JAVA不支持此特性 5. 下列选项在Java中属于不合法的标识符的是【 】

A. BigName B. _able C. dollar D. 3myvar 6. 在Java语言中,以下【 】关键字用于类的继承。

A. Import B. extends C. invokes D. none 7. 设a=32,则表达式a>>>4的值是【 】 A. 1 B. 2 C. 3 D. 4 8. 以下不是Java的基本数据类型的是【 】

A. boolean B. float C. Integer D.char 9. 下面语句执行后,输出结果是【 】。

System.out.println(5|8);

A. 0 B. 5 C. 8 D. 13

10. 以下关于final修饰符错误的是?【 】

A. 用final修饰的引用所指向的对象的成员变量不允许改变 B. 用fianl修饰的方法不能被重写 C. 用fianl修饰的类不能够被继承

D. 用fianl修饰的基本数据类型量的值不能更改 11. 如果某个类被声明为【 】,此类不能实例化为对象。

A. protected B. abstract C. final D. public 12. 以下代码的运行结果是【 】。 class Example{

public static void main(String[] args){

int x=1; int y=x&2;

System.out.println(x+”,”+y); } }

A. -1,1 B. 1,3 C. 1,-1 D. 1,0 13. 对于以下程序段,编译运行后【 】。 public class MyFor{

public static void main(String args[]){ for(int i=5;i>0;){

- 1 -

System.out.print(i); i--;

continue;}

} }

A. 编译错误,for语句格式错误 B. 编译错误,for循环中不能使用continue C. 运行错误,程序没有执行continue语句 D. 编译运行后输出 5 4 3 2 1 14.下列哪个说法是正确的?【 】

A. Java 语言只允许单一继承 B. Java 语言的接口不允许有多个父接口

C. Java 语言不允许同时继承一个类并实现一个接口 D. Java 语言只允许实现一个接口 15. Java语言中的super关键字是【 】

A.指向父类的指针 B.父类的标识符

C.对父类的引用 D.指向父类对象的指针 16. 对于构造方法,下列叙述不正确的是【 】

A. 构造方法也允许重载 B. 子类无条件地调用父类的无参构造方法

C. 子类不允许调用父类的构造方法 D. 在同一个类中定义的重载构造方法可以相互调用 17. 在使用interface声明一个接口时,只可以使用【 】修饰符修饰该接口。 A. private B. protected C.friendly D. public 18. 以下说法错误的是?【 】

A. 静态方法可以访问静态变量和静态方法 B. 静态方法可以访问非静态变量和非静态方法 C. 非静态方法可以访问静态变量和静态方法 D. 非静态方法可以访问非静态变量和非静态方法 19. 下面说法正确的是【 】

A. final 可修饰类、属性(变量)、方法 B. abstact可修饰类、方法

C. 抽象方法只有方法头,没有方法体 D.关键字final和absrtact不能同时使用 20. 关于Float ,下列说法不正确的是【 】

A. Float 是一个类 B. Float在java.lang 包中

C. Floa a= 1.0 是正确的赋值方法 D. Float a=new Float(1.0)是正确的赋值方法 21. 语句System.out.println(args[i]); 有可能引发【 】异常。

A. ArithmaticException B. ArrayIndexOutOfBoundsException C. NumberFormatException D. FileNotFoundException 22.下列关于Java对import语句规定的叙述中,错误的是【 】。 A.在Java程序中import语句可以有多个 B.在Java程序中import语句可以没有 C.在Java程序中import语句必须有一个

D.在Java程序中import语句必须引入在所有类定义之前 23. 在Java的输入输出流中,字符流与字节流的区别是【 】

A. 前者带有缓冲,后则没有 B. 每次读入的字节数不同

C. 前者是块读写,后者是字节读写 D. 二者没有区别,可以相互使用 24. 下面关于Java中输入输出流的说法正确的是【 】

A. FileInputStream与FileOutputStream类用于读、写字节流 B. Reader与Writer类用于读、写字符流

C. RandomAccessFile类既可以用来读文件,也可以用来写文件 D. File类用来处理与文件相关的操作

25. 在Swing中创建多行多列文本组件使用的类是【 】

A. TextField B. JTextField C. TextArea D. JTextArea

- 2 -

26. 在Swing中,若显示一些不需要修改的文本信息,一般是用【 】类的对象来实现。 A. JLable B. JButton C. JTextArea D. JTextField

27. 要从文件\" file.dat\"文件中读出第10个字节到变量c中,下列哪个方法适合? 【 】

A. FileInputStream in=new FileInputStream(\"file.dat\"); in.skip(9); int c=in.read(); B. FileInputStream in=new FileInputStream(\"file.dat\"); in.skip(10); int c=in.read(); C. FileInputStream in=new FileInputStream(\"file.dat\"); int c=in.read();

D. RandomAccessFile in=new RandomAccessFile(\"file.dat\"); in.skip(9); int c=in.readByte(); 28. 内部类是在一个类内嵌套定义的类,其特点描述错误的是:【 】

A. 只能在定义它的类或程序段中或表达式内匿名使用,外部使用时必须给出类的全名 B. 可以使用它所在类的静态成员变量或实例成员变量,但不可以使用所在类中的局部变量 C. 可以使用其他类的成员,而且可访问它所在类的成员 D. 除static内部类之外,不能在类内声明static成员

29. 下列【 】语句可以正确地创建一个RandomAccessFile的对象。

A. new RandomAccessFile(“data”,”r”); B. new RandomAccessFile(“r”,”data”); C. new RandomAccessFile(“data”,”read”); D. new RandomAccessFile(“read”,”data”); 30. 布局管理器是JFrame的默认布局管理器的是【 】

A. FlowLayout B. BorderLayout C. GridBagLayout D. GridLayout

二、简答题与是非判断题(10分,每小题2分)

1. 什么是抽象(abstract)方法,什么是最终(final)方法。 2. 简述接口与抽象类的区别。

3. Java中对异常处理有那两种方式。

4. 使用final关键字声明的类不能创建子类对吗? 5. 一个Java类可以有多个父类,对吗?

三、阅读程序,写出程序运行的结果(20分,每小题5分) 1.写出下列程序运行的结果。 public class Example {

String str=new String(\"good\"); char[ ] ch={'a' , 'b' , 'c'};

public void change(String str,char[ ] ch){

str=\"test ok\"; ch[0]='g';

}

public static void main(String args[]){ Example ex=new Example(); ex.change(ex.str,ex.ch);

System.out.print(ex.str+\" and \"); System.out.println(ex.ch ); }

}

2. 写出下列程序运行的结果 import java.io.* ; public class abc {

public static void main(String args[ ]) { int i , s = 0 ;

int a[ ] = { 10 , 20 , 30 , 40 , 50 , 60 , 70 , 80 , 90 };

- 3 -

for ( i = 0 ; i < a.length ; i ++ ) if ( a[i]%3 = = 0 ) s += a[i] ; System.out.println(\"s=\"+s); } }

3. 写出下列程序运行的结果 public class Test{

void printValue(int m){ do {

System.out.println(“The value is ”+ m);

while ( -- m>10); }

public static void main(String args[]{ int i=10;

Test t=new Test( ); t.printValue( i ); } }

4. 写出下列程序运行的结果

public class JTest{ int m=1 ; int i=3; JTest(){ m=2; i=4; }

public static void main(String args[ ]){ JTest test=new JTest();

System.out.println(test.m+“,”+test.i);

} }

四、完型填空(每空3分共18分)

1. 下面程序的功能是计算一个数的阶乘。

public class Factorial{

public static void main(String[] args) { int n=10; long s; s= [1] ;

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

System.out.println(“s=”+ [2] ); } }

2. 下面中的方法mathod将抛出IllegalAccessException异常,main方法对异常进行捕获处理。 请将程序补充完整。 class Catch2Demo{

- 4 -

public static void method( ) throw IllegalAccessException { System.out.println(\"在method方法中抛出一个异常\"); throw [3] ; }

public static void main(String args[]){ try { method(); } catch(____[4]_____){ System.out.println(\"在main中捕获异常:\"+e); } } }

3. 下面是一个类的定义:

public class Test {

int x ,y; x=5; y=10;

Test(int ___[5]____, [6] ){ //构造方法

x=i; y=j; } }

五、编程题(按照题目要求完成编程,第1题7分,第2题15分,共22分)

1.编写程序,显示一个窗口(JFrame的对象),窗口中包含两个按钮和一个文本框。如下图所示。

2.编写一个完整的Java Application 程序。包含接口ShapeArea,类MyRectangle及类Test,具体要求如下:

(1) 接口ShapeArea:有以下方法

double calcArea () //求一个矩形的面积 (2) MyRectangle: 实现接口ShapeArea,并有以下属性`和方法:

① 属性

x ,y // double型,表示矩形两条边边长 ② 方法

MyRectangle(double x, double y) //构造方法,给矩形两条边赋初值。 display() //成员方法

调用calcArea计算矩形的面积,并输出矩形的描述信息, 如“two sides:3.0,4.0, Area=12.0” (3) 类Test作为主类要完成测试功能

- 5 -

① 生成两边分别为3.0,4.0的MyRectangle对象 ② 调用对象的display方法,输出对象的描述信息

- 6 -

因篇幅问题不能全部显示,请点此查看更多更全内容