当前位置:课程学习>>模拟试题一


一、单项选择题(每空2分,共40分。)

1、如下哪个是Java中的标识符(   )。

A、public           B、super

C、3number           D、width

2、已知如下定义:String s = "story"; 下面哪个语句不是合法的(   )。

A、s += "books";        B、s = s + 100;

C、int len = s.length; D、String t = s + “abc”;

3、下面的代码段执行之后count的值是什么(   )。

int count = 1;

for (int i = 1; i <= 5; i++) {  

count += i;

}

System.out.println(count);

A、5                    B、1  

C、15                   D、16

4、定义一个类,必须使用的关键字是(   )。

A、public               B、class

C、interface            D、static

5、不允许作为类及类成员的访问控制符的是(   )。

A、public               B、private

C、static               D、protected

6、void的含义:(   )。

A、方法没有返回值    B、方法体为空

C、没有意义         D、定义方法时必须使用

7、下列说法哪个正确。(   )

A、不需要定义类,就能创建对象

B、对象中必须有属性和方法

C、属性可以是简单变量,也可以是一个对象

D、属性必须是简单变量

8、构造函数何时被调用。(   )

A、创建对象时   

B、类定义时

C、使用对象的方法时

D、使用对象的属性时

9、关于super的说法正确的是:(   )。

A、是指当前对象的内存地址

B、是指当前对象的父类对象的内存地址

C、是指当前对象的父类

D、可以用在main()方法中

10、异常包含下列哪些内容。(   )

A、程序执行过程中遇到的事先没有预料到的情况

B、程序中的语法错误  

C、程序的编译错误

D、以上都是

11、关于下面的程序Test.java说法正确的是(   )。

public class Test {

Stringx="1";      

int y;

publicstatic void main(String args[]) {                 

intz=2;             

System.out.println(x+y+z);

}

A、3                    B、102

C、12                   D、程序有编译错误

12、创建并显示框架的步骤中,错误的是(   )。  

A、将框架对象与入口类相连接

B、在框架中加如组件

C、创建一个框架对象

D、调用框架对象的setVisible函数显示框架

13、Java不支持多重继承,但我们可以通过哪种方式实现。(   )

A、多态                 B、接口  

C、覆盖                 D、抽象类

14、以下哪个方法用于定义线程的执行体。(   )

A、start();             B、init();

C、run();               D、main();

15、Java中哪个类提供了随机访问文件的功能。(   )

A、RandomAccessFile类   B、RandomFile类

C、File类               D、AccessFile类

16、下列关于Java语言的特点,描述错误的是(   )。

A、Java是跨平台的编程语言   

B、Java支持分布式计算

C、Java是面向过程的编程语言 

D、Java支持多线程

17、有程序如下,关于程序的描述哪个是正确的。(   ) 

public class Person{  

  static int arr[] = new int[10]; 

  public static void main(String a[]){  

    System.out.println(arr[1]);  

}  

}  

A、编译将产生错误 

B、编译时正确,但运行时将产生错误 

C、正确,输出0  

D、正确,输出 null

18、在使用interface声明一个接口时,只可以使用哪个修饰符修饰该接口。(   )

A、private         B、protected 

C、default         D、public

19、下列哪一个import命令可以使我们在程序中创建输入/输出流对象(   )。

A、import java.sql.*;

B、import java.util.*;

C、import java.io.*;

D、import java.net.*;

20、下列哪些语句关于Java内存回收的说明是正确的。(   ) 

A、程序员必须创建一个线程来释放内存 

B、内存回收程序负责释放无用内存 

C、内存回收程序允许程序员直接释放内存 

D、内存回收程序可以在指定的时间释放内存对象

 

二、名词解释(每题5分,共10分。)

1、什么是继承?

2、什么是重载?什么是覆盖?有什么区别和共同点? 

 

三、程序结果题(每题5分,共10分。)

1、请给出下面程序的输出结果。

public class Test{

public static void main(String args[ ]) {   

int i, s = 0 ;

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

for ( i = 0 ; i < a.length ; i ++)

if ( a[i]%3 = = 0 )  s += a[i] ;

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

}

}

2、请给出下面程序的输出结果。

public class Course {  

private String cNumber;  

private String cName;  

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("101", "ASP", 3);   

c.printCourseInfo(); 

       } 

}

 

四、编程题(共40分。)

1、编写一个程序,计算 1/1+1/2+1/3+...+1/100 的值。(10分)

2、编写一种从小到大排序程序。例如:a数组中有10个数。分别是{3,2,5,21,9,10,7,16,8,20},经过排序算法后,a数组变为{2,3,5,7,8,9,10,16,20,21,}。(10分)

3、按以下要求编写程序(20分)

(1) 创建一个Rectangle类,添加width和height两个成员变量

(2) 在Rectangle中添加两种方法分别计算矩形的周长和面积

(3) 编程利用Rectangle输出一个矩形的周长和面积