java程序设计模拟题(含答案) 下载本文

一、选择题(本题共20小题,每小题1分,共20分)

得分 评卷人 1. 下列( C )不是合法的标识符?

(A)$million (B)$_million (C)2$_million (D)$2_million 2. 下列关于基本数据类型的说法中,不正确的一项是( D )。

(A)boolean类型变量的值只能取真或假 (B)float是带符号的32位浮点数 (C)double是带符号的64位浮点数 (D)char是8位Unicode字符 3.下列循环体执行的次数是( C )。

int y=2, x=4;

while(--x != x/y){ } (A)1 (B)2 (C)3 (D)4

4. 假设a是int类型的变量,并初始化为1,则下列( D )是合法的条件语句?

(A)if(a){} (B)if(a<<=3){} (C)if(a=2){} (D)if(true){} 5. 下列哪种类成员修饰符修饰的变量只能在本类中被访问?( D )

(A)protected (B)public (C)default (D)private 6. 下面关于类的说法,不正确的是( C )。 (A)类是同种对象的集合和抽象 (B)类属于Java语言中的复合数据类型 (C)类就是对象 (D)对象是Java语言中的基本结构单位

7. 为AB类定义一个无返回值的方法f,使得使用类名就可以访问该方法,该方法头的形式为( D )

(A)abstract void f() (B)public void f() (C)final void f() (D)static void f() 8. 构造函数何时被调用? ( A ) A、创建对象时 B、类定义时

C、使用对象的方法时

D、使用对象的属性时

9. 关于继承的说法正确的是: ( B) A、子类将继承父类所有的属性和方法。 B、子类将继承父类的非私有属性和方法。 C、子类只继承父类public方法和属性 D、子类只继承父类的方法,而不继承属性 10. 覆盖与重载的关系是 ( A )

A、覆盖只有发生在父类与子类之间,而重载可以发生在同一个类中 B.覆盖方法可以不同名,而重载方法必须同名

C.final修饰的方法可以被覆盖,但不能被重载 D.覆盖与重载是同一回事

11. 异常包含下列哪些内容? ( D ) A.程序执行过程中遇到的事先没有预料到的情况 B.程序中的语法错误 C.程序的编译错误 D.以上都是

12. 对于已经被定义过可能抛出异常的语句,在编程时: ( A ) A、必须使用try/catch语句处理异常,或用throws将其抛出 B.如果程序错误,必须使用 try/catch语句处理异常 C.可以置之不理

D.只能使用try/catch语句处理

13. 字符流与字节流的区别在于( D ) A.前者带有缓冲,后者没有 B.前者是块读写,后者是字节读写 C. 二者没有区别,可以互换使用

D. 每次读写的字节数不同

14.下列哪个类不属于字节流 ( A ) A、InputStreamReader B、BufferedInputStream C、FileInputStream D、OutputStream

15. 下列说法中,错误的一项是( A )。 A.线程一旦创建,则立即自动执行

B.线程创建后需要调用start()方法,将线程置于可运行状态 C.调用线程的start()方法后,线程也不一定立即执行 D.线程处于可运行状态,意味着它可以被调度 16. 下列说法中,错误的一项是( A )。 A.Thread类中没有定义run()方法 B.可以通过继承Thread类来创建线程C.Runnable接口中定义了run()方法 D.可以通过实现Runnable接口创建线17. 在以下( C )情况下,线程就进入可运行状态 A、线程调用了join()方法时 B、线程调用了sleep()方法 C、线程调用了yield()方法时 D、时以上都是

18. 进行Java基本GUI设计需要用到的包是( C )。 A.java.io B.java.sql C.java.awt D.java.rmi 19. 声明并创建一个按钮对象b,应该使用的语句是( A )

A、Button b=new Button(); B、button b=new button();

if(__arr[k] < arr[k-1] ____) { C、Button b=new b(); D、b.setLabel(“确定”);

temp = arr[k-1]; 20. 定义一个接口必须使用的关键字是( C )

_ arr[k-1]=_arr[k] ___; A、public

B、class

C、interface

D、static

arr[k] = temp; }

}

题号 1 2 3 4 5 6 7 8 9 10 } }

答案 8. 12、下面程序段的执行结果是(6 5 4 3 2)

int a[] = { 2, 3, 4, 5, 6 };

题号 11 12 13 14 15 16 17 18 19 20 for (int i = a.length - 1; i >= 0; i--) 答案

System.out.print(a[i] + \);

二、填空题(本题共8个空,前面6空每空1分,后面2空为程序代码四、读程序写结果。(本题共2小题,每题6分,共12分)

填空每空4分,共14分)

得分 评卷人 得分 评卷人 1. 以下程序:

public class Person {

String name; 1. Java源程序文件和字节码文件的扩展名分别为.class和 .java 。 int age;

2. 导入mypackage包中的所类的命令是( import mypackage.*; )。 public Person(String name, int age) { 3. 所有的构件都可以通过 add() 方法向容器中添加构件。

this.name = name; this.age = age; 4. 异常处理是由try、(catch)和finally块三个关键所组成的程序块。

}

5. 定义类时需要class关键字,继承类时需要extends关键字,实现接口时需要关 public static void main(String[] args) { 键字 implements 。

Person c = new Person(\, 17);

6. 如果将类MyClass声明为public,它的文件名称必须是(MyClass.java)才能正常 System.out.println(c.name + \ + c.age + \); 编译。

}

7. .已知已经存在一数组,以下是一成员方法,当调用该成员方法时可以实现对数组进行冒泡排

}

序,请将代码补充完整。

【运行结果】 Peter is 17 years old!_ public static void sort(int arr[]) {

int i,k,temp;

2、以下程序:

int len = arr.length; public class Course { for(int i=0; _i<_len_____;i++) { private String cNumber; for(int k=len-1; k>i; k--) {

private String cName;

《java程序设计》 A卷

第3页,共14页

第4页,共14页

………○…………题…………答…………要…………不…………内…………线…………封…………密…………○………

private int cUnit;

public Course(String number, String name, int unit) { cNumber = number; cName = name; cUnit = unit;

}

public void printCourseInfo() {

System.out.println(\课程号:\ + cNumber + \课程名:\ + cName + \学分:\+ cUnit); }

}

class CourseTest { public static void main(String[] args) { Course c;

c = new Course(\, \, 3); c.printCourseInfo(); }

}

【运行结果】 课程号:101 课程名:ASP 学分:3_

五、程序改错题(每个错误4分,共 16 分)

得分 评卷人

1. 1 已知以下程序功能是实现求一个数组的长度,并求其平均数,请改正其中的两处错误

public class ac6_7 {

static double average(double ascore[],int len) { double aaver=0;

for(int i=0;i>len;i++)

aaver = aaver+ascore[i]; aaver = aaver/len; return aaver; }

public static void main(String args[]) {

int i;

double aver1;

double s1[] = {90,56,86.5,87,99,67.5,65,80}; System.out.println(\ aver1 = average(s1,s1.length); System.out.println(\

}

}

(1)_____第4行i>len改为i

(2)__第13行改成___System.out.println(\

2、 下列源程序oushu.java是实现2+4+6+…+100的和。

2 public class TestThread1 {

public static void main(String args[]) { Runner1 r = new Runner1(); r.start();

for(int i=0; i<100; i--) {

System.out.println(\ } } }

class Runner1 extends Runable { public void run() {

for(int i=0; i<100; i++) {

System.out.println(\ } }

(1)第5行i++改为i-- (2)第10行extends Runable改为extends Thread

六、程序编程题(本题共2小题,共23分)

得分 评卷人